Objective-C中的字节数组

16

如何在Objective-C中创建字节数组?

我有一些数据,例如:0x12, 0x23, 0x34, 0x45, 0x56, 0x67, 0x78, 0x89, 0x12, 0x23, 0x34, 0x45, 0x56, 0x67, 0x78, 0x89,我想将其准备为一个字节数组。

2个回答

36

您可以简单地使用Objective-C中可用的普通C语法:

const char myByteArray[] = {
    0x12,0x23,0x34,0x45,
    0x56,0x67,0x78,0x89,
    0x12,0x23,0x34,0x45,
    0x56,0x67,0x78,0x89 };

如果使用unsigned char会有什么不同? - whyoz
我喜欢C字节数组,但如果你想在NSArray中有多个字节数组会发生什么呢?“隐式转换非Objective-C指针类型'const char *'到'id _Nonnull'是不允许的,使用ARC”。我喜欢下面@Georg的答案。NSData *data = [[NSData alloc] initWithBytes:bytes length:sizeof(bytes)]; - rustyMagnet
如果我有这样的一些数据(一个NSString对象)@"0x12, 0x23, 0x34, 0x45, 0x56, 0x67, 0x78, 0x89, 0x12, 0x23, 0x34, 0x45, 0x56, 0x67, 0x78, 0x89",我该如何通过编程创建一个无符号字符数组?谢谢! - Max Hiroyuki Ueda

7
要么使用mouviciel提供的简单C解决方案,要么阅读NSDataNSMutableData的类描述。

1
这些链接应该更新 - NSData: https://developer.apple.com/documentation/foundation/nsdata - NSMutableData: https://developer.apple.com/documentation/foundation/nsmutabledata - whyoz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接