2

我正在尝试将字符串转换为 32 位无符号网络(大端)字节顺序。我似乎无法弄清楚如何做到这一点。在 Ruby 中,我通过string.unpack('N')- 但似乎无法在 Objective-C 中管理它。有什么建议么?谢谢!

4

1 回答 1

5

在 Objective-C 中,您将转换NSStringNSData. 然后您可以访问NSData对象中的字节。

NSString *str = @" H€llö Wòrld";
NSData *data = [str dataUsingEncoding:NSUTF32BigEndianStringEncoding];
NSLog(@"%@", data);
// Output:
// <0001f604 00000020 00000048 000020ac 0000006c 0000006c 000000f6 00000020 00000057 000000f2 00000072 0000006c 00000064>

const uint8_t *bytes = [data bytes]; // pointer to converted bytes
NSUInteger length = [data length];   // number of converted bytes
于 2013-03-08T16:21:41.307 回答