文字列を 32 ビットの符号なしネットワーク (ビッグ エンディアン) バイト オーダーに変換しようとしています。これを行う方法がわかりません。Rubyではこれを達成しstring.unpack('N')
ますが、Objective-Cでこれを管理する方法がわかりません。助言がありますか?ありがとう!
1 に答える
5
Objective-Cでは、に変換NSString
しNSData
ます。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 に答える