我正在 Cocoa 中调试一些 CCCrypto 代码,我注意到我很难设置的 IV(是的,我知道它应该是随机的)在调试时给了我奇怪的结果。
这是我的 IV:
unsigned char iv[17] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x00};
这是我在调试时跳过上面这行后的内存内容:
(lldb) p iv
(unsigned char [17]) $1 = "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10"
\a\b\t\n\v\f\r 从哪里来?我完全期待看到
\x07\x08\x09\x0a\x0b\x0c\x0d
最佳答案
这些是 ASCII 和 UTF-8 中这些字符值的正常表示形式。请记住,这些可能是八位整数,但它们被解释为字符串中的字符。值为 7 的字符是 '\a'
,也称为“响铃字符”(如果打印它,它会让您的计算机发出蜂鸣声)。值为 8 的字符是退格键,或 '\b'
。 9 是制表符,或 '\t'
。然后是换行、垂直制表符、换页和回车。
关于objective-c - Objective C 中硬编码字节的奇怪结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22470436/