Browse Source

update stringutils.cpp

disinfection_machine
zhaohe 2 years ago
parent
commit
ff65e55498
  1. 26
      core/components/stringutils.cpp
  2. 1
      core/components/stringutils.hpp

26
core/components/stringutils.cpp

@ -44,7 +44,7 @@ string StringUtils::bytesToString(const uint8_t* data, size_t size) {
string ret;
for (unsigned i = 0; i < size; ++i) {
uint8_t hight4 = data[i] >> 4 & 0x0f;
uint8_t low4 = data[i] >> 0 & 0x0f;
uint8_t low4 = data[i] >> 0 & 0x0f;
ret += byteToChar(hight4);
ret += byteToChar(low4);
}
@ -108,7 +108,7 @@ string StringUtils::bytet2Binary(uint32_t value, int bitCount, bool remoteZero)
string ret;
for (int i = 0; i < bitCount; ++i) {
uint32_t bit = value & 0x01;
value = value >> 1;
value = value >> 1;
if (bit == 0) {
ret = "0" + ret;
} else {
@ -116,8 +116,26 @@ string StringUtils::bytet2Binary(uint32_t value, int bitCount, bool remoteZero)
}
}
if (remoteZero) {
while (ret[0] == '0') {
ret = ret.substr(1);
while (ret.length() > 0 && ret[0] == '0') {
ret = ret.substr(1, ret.length() - 1);
}
}
return ret;
}
string StringUtils::bytet2BinaryBigEnd(uint32_t value, int bitCount, bool remoteZero) {
string ret;
for (int i = 0; i < bitCount; ++i) {
uint32_t bit = value & 0x01;
value = value >> 1;
if (bit == 0) {
ret = ret + "0";
} else {
ret = ret + "1";
}
}
if (remoteZero) {
while (ret.length() > 0 && ret[ret.length() - 1] == '0') {
ret = ret.substr(0, ret.length() - 1);
}
}
return ret;

1
core/components/stringutils.hpp

@ -62,6 +62,7 @@ class StringUtils {
*
*/
string bytet2Binary(uint32_t value, int bitCount, bool remoteZero = true);
string bytet2BinaryBigEnd(uint32_t value, int bitCount, bool remoteZero = true);
};
} // namespace core

Loading…
Cancel
Save