【问题标题】:Converting bytearray to Objective-C data structure [duplicate]将字节数组转换为Objective-C数据结构[重复]
【发布时间】:2026-01-06 08:55:02
【问题描述】:

可能重复:
Byte array in objective-c

我正在将一些 Java 代码转换为 Objective-C,但遇到了一个我无法理解的问题:

public static final byte[] DATA_GENERIC = new byte[] { (byte)0xA0, 0x00, 0x00, 0x00, 0x03,
            0x10, 0x10 };

有谁知道将上面的转换成Objective-C

【问题讨论】:

  • 此线程包含您需要的信息:*.com/questions/876598/byte-array-in-objective-c
  • @Perception 感谢您的快速回复。我看到了那个帖子,但不能再继续下去了。我可以创建 char 数组,但不知道如何使用 Objective-c 进行交互

标签: java objective-c bytearray hex


【解决方案1】:

这是一个将数据放入NSData 对象的示例。

const unsigned char bytes[] = { 0xA0, 0x00, 0x00, 0x00, 0x03, 0x10, 0x10 };
NSData *data = [NSData dataWithBytes:bytes length:7];
NSLog(@"%@", data);

输出:

<a0000000 031010>

与 java 的一个主要区别是,在使用原始 char 数组时,您需要自己跟踪字节数。创建 NSData 后,您可以访问长度。

【讨论】:

  • 非常感谢,这是一个相当于 NSData 的 Java 类型“字节”
  • NSData 更接近 Byte[]。 Java 中的字节是一个类,在 C/Objective-C 中它将表示为无符号字符。它们仍然完全不同。