-1

文字列を他の形式にエンコードする必要があります。これがどのようなエンコーディングか知っている人はいますか? また、objective-c を使用して結果を取得するにはどうすればよいですか?

更新 2013-10-22 02:23:49

これが最善の方法かどうかはわかりません。それは私の問題を解決しました。

NSString *result_string = @"";
for (int i = 0; i < string.length; i++) {
    int a = [string characterAtIndex:i];
    unsigned long long int theNumber = a;
    NSString *ascii_string = [NSString stringWithFormat:@"%llX", theNumber];

    //61 -> 6100, 4E03 -> 034E
    if (ascii_string.length == 2) {
        result_string = [NSString stringWithFormat:@"%@%@00", result_string, ascii_string];

    } else if (ascii_string.length == 4) {
        NSString *first2 = [ascii_string substringToIndex:2];
        NSString *last2 = [ascii_string substringFromIndex:2];
        result_string = [NSString stringWithFormat:@"%@%@%@", result_string, last2, first2];

    } else {
        NSLog(@"length unknown: %d", ascii_string.length);
    }

}

return result_string;
4

1 に答える 1

2

6100パントを取り、データストリームを見てそれを取得し、リトルエンディアンでエンコードされた UTF-16 であると推測します。

したがって、次のようなものが機能します。

NSString *str = @"the quick brown fox jumps over the lazy dog";
NSData *data = [str dataUsingEncoding:NSUTF16LittleEndianStringEncoding];
// data can now be written to file or transmitted over the network.
于 2013-10-21T16:07:14.430 に答える