"\332" 的LLDB po命令编码格式

LLDB po command encoding format of "\332"

所以我从后端服务器得到了一个 NSData,我的后端工程师说有一个简单的解码逻辑,我必须得到第二个字节。

所以我通过

将这个 NSdata 转换为字节数组

const unsigned char *usageBuf = (unsigned char *)[keyData bytes];

当我在 LLDB 上打印它时,它输出如下:

(lldb) po usageBuf "\x162d6C\xa2Jc\x88./Q46[\x01\x01\xa84\x96\x8d0.c\x8bѐ\r\xb7'7626>\x1fE2e\x91142"

然而,当我尝试打印 usageBuf[1] 时,它就像:

(lldb) po usageBuf[0]
'\x16'

(lldb) po usageBuf[1]
'\xda'

(lldb) po/x usageBuf[1]
0xda

(lldb) po usageBuf[2]
'd'

我很困惑'\332'怎么变成'\xda'?我搜索了UTF8 table,但它只是说UTF-8 0x5C 0x33 0x33 0x32,所以我一定是遗漏了一些谜题,请帮忙,谢谢!

这是一个基数问题:

十六进制 DA == 十进制 218 == 十进制 332