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; string ret;
for (unsigned i = 0; i < size; ++i) { for (unsigned i = 0; i < size; ++i) {
uint8_t hight4 = data[i] >> 4 & 0x0f; 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(hight4);
ret += byteToChar(low4); ret += byteToChar(low4);
} }
@ -108,7 +108,7 @@ string StringUtils::bytet2Binary(uint32_t value, int bitCount, bool remoteZero)
string ret; string ret;
for (int i = 0; i < bitCount; ++i) { for (int i = 0; i < bitCount; ++i) {
uint32_t bit = value & 0x01; uint32_t bit = value & 0x01;
value = value >> 1;
value = value >> 1;
if (bit == 0) { if (bit == 0) {
ret = "0" + ret; ret = "0" + ret;
} else { } else {
@ -116,9 +116,27 @@ string StringUtils::bytet2Binary(uint32_t value, int bitCount, bool remoteZero)
} }
} }
if (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; 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 bytet2Binary(uint32_t value, int bitCount, bool remoteZero = true);
string bytet2BinaryBigEnd(uint32_t value, int bitCount, bool remoteZero = true);
}; };
} // namespace core } // namespace core

Loading…
Cancel
Save