有没有一种简单的方法将ASCII std :: string转换为HEX?我不想将其转换为数字,我只想将每个ASCII字符转换为其HEX值。输出格式也应该是std :: string。
例如:“TEST”将变为“0x54 0x45 0x53 0x54”或类似格式。
我找到了这个解决方案,但也许有更好的解决方案(无需将字符串转换为int再转换为字符串)。
感谢您,/mspoerr
我找到了这个解决方案,但也许有更好的解决方案(无需将字符串转换为int再转换为字符串)。
std::string teststring = "TEST";
std::stringstream hValStr;
for (std::size_t i=0; i < teststring.length(); i++)
{
int hValInt = (char)teststring[i];
hValStr << "0x" << std::hex << hValInt << " ";
}
感谢您,/mspoerr
char
可能有符号或无符号的原因;对于ASCII来说真的没有关系。char(0x7F)
始终是正数。 - MSalters