Objective-C等效于Ruby中的string.unpack('N')

use*_*561 2 ruby objective-c nsstring

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

Mar*_*n R 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
Run Code Online (Sandbox Code Playgroud)