将 std::string( "x3BxDEx7C" ) 转换为可读的十六进制字符串?

Convert std::string("x3BxDEx7C") to a readable hex string?

本文关键字:十六进制 转换 字符串 x7C string std x3B xDE      更新时间:2023-10-16

我正在尝试解析来自用户的输入字符串,该字符串可以"x3BxDEx7C"

std::cout << std::string("x3BxDEx7C") << std::endl;

结果在

;Ì|

如何解析它以产生:

"x3BxDEx7C",最好是"3B DE 7C"

x

实际上并没有存储在字符串中,它被检测为转义序列。任何转义序列都不会存储您在屏幕上看到的字符,而是存储指定的实际字符。

此外,它转换为十六进制。例如,如果您输入:

std::cout << std::string("x3B");

字符串将存储;字符,不再是3B。由于您输入了std::endl,因此在该分号之后会产生那些奇怪的字符。

请注意,除了字符串中的转义序列之外,您可以使用其他键。