文件加载、保存与键值编码全解析
在编程过程中,文件的加载与保存以及对象状态的间接修改是非常重要的操作。下面将详细介绍相关的技术和方法。
1. NSData与十六进制字符串处理
在处理数据时,我们可能会遇到十六进制字符串。例如:
data is <48692074 68657265 2c207468 69732069 73206120 43207374 72696e67 2100>
借助 ASCII 表(可在终端输入 man ascii 命令获取),我们能发现这段十六进制实际上代表一个字符串。 -length 方法可获取字节数, -bytes 方法能得到字符串起始指针。在 +dataWithBytes: 调用中, + 1 是为了包含 C 字符串所需的尾随零字节。通过包含零字节,我们可以使用 %s 格式说明符来打印字符串:
NSLog (@"%d byte string is '%s'", [data length], [data bytes]);
输出结果为:
30 byte string is 'Hi there, this is a C string!'
需要注意的是,NSData 对象是不可变的,一旦创建就无法更改。而 NSMutableData 则允
超级会员免费看
订阅专栏 解锁全文
1918

被折叠的 条评论
为什么被折叠?



