我很想知道是否有一种简单的方法(即使用 clib、stl 或 stdlib 函数)将格式化(编码?)字节字符串转换为字节数组(无符号字符):
示例,格式化字节字符串: \x8C\xB5{\x00\x00
到: {0x8C,0xB5,0x7B,0x00,0x00}
您要问的是将编码的字符串解码为普通的字符数组。
回答你的问题,不(AFAIK)。
但是可以很容易地实现。
看看这个。
http://www.dzone.com/snippets/decode-encoded-query-string-c
完全按照您在 26 行代码中所要求的。只差一个 % 而不是 \x
逐个字符地遍历字符串。如果你看到一个'\\'
字符,你检查下一个字符是否是 a 'x'
,然后取下一个或两个字符(如果它们是十六进制数字)并将它们转换为字节值并将该值添加到目标向量。任何其他字符都按原样添加到目标。继续直到字符串结束。