我在uint8_t *类型的有效负载中有一个值序列,其大小等于常量size(32)。 我的目标是将此序列转换为带有小写字母的十六进制字符。
我写了这段代码:
size_t constant_size = 12;
const std::String s1(reinterpret_cast<const char*>(payload), constant_size);
std::string final = boost::algorithm::hex(s1);
boost::algorithm::to_lower(final);
此代码运行良好。但是它的成本非常高,因为我正在使用一些缓冲区处理和副本,这会降低性能。
这是将我的数据(类型为uint8_t *)转换为带有小写字母的十六进制字符的更好方法吗?