Objective-Cの新機能で、形式がUTF8でエンコードされたNSStringをapples docsの例を使用して整形済みのものに変換しようとしました。NSStringを使用したUTF8デコード
NSString *theString = @"Lügen"; //should be "ü"
NSString *asciiString = [[NSString alloc] initWithData:asciiData encoding:NSASCIIStringEncoding];
NSLog(@"Original: %@ (length %d)", theString, [theString length]);
NSLog(@"Converted: %@ (length %d)", asciiString, [asciiString length]);
結果:ここ
Original: Lügen (length 6)
Converted: LA1/4gen (length 8)
これは何もしていない。ここで
NSString* str = [NSString stringWithUTF8String:
[theString cStringUsingEncoding:NSASCIIStringEncoding]];
これは私のアプリがクラッシュ
NSString* str = [NSString stringWithUTF8String:
[theString cStringUsingEncoding:NSUTF8StringEncoding]];
誰も私が間違っているの何任意のアイデアを?
文字列を16進数でダンプできますか?私は不正な形式のUTF8を読むことはありません:) –
これは "ü"の16進数の値を取得する方法がわかりません;) –
クラッシュに関する質問にクラッシュの詳細を投稿してください。 – jrturton