53392
この int num:をキリル文字に変換したいA
。私はこれを使用します:NSString *string = [NSString stringWithFormat:@"%c", 53392];
しかし、これは適切に機能し、奇妙なシンボルを返します。誰かが私を助けることができますか?
質問する
1589 次
3 に答える
3
まず、%C
フォーマット (大文字の C) を使用します。次に、キリル文字 A のコードは 0x0410 であり、あなたの番号ではありません。
于 2012-09-22T19:56:33.967 に答える
0
あなたが持っている整数53392は、整数にパックされた2バイトの0xD0と0x90であり、Unicode 0x410(10進数1040)キリル大文字AのUTF-8エンコーディングです.
変換を行うには複数の方法がありますが、ここでは 2 つを紹介します。
UTF-8 シーケンス (必要に応じて整数から抽出できます) がわかっている場合は、次のようなNSString
シーケンスを使用して変換できます。
char buf[2];
buf[0] = 0xD0;
buf[1] = 0x90;
NSString *cyrillicA = [[NSString alloc] initWithBytes:buf length:2 encoding:NSUTF8StringEncoding];
UTF-16 値がわかっている場合は、%C 形式を使用できます。
NSString *cyrillicA = [NSString stringWithFormat:@"%C", 0x410];
于 2012-09-22T20:22:33.943 に答える
0
Unicode 文字を含む NSString を作成する適切な方法は、次のように stringWithUTF8String と \u#### エスケープ シーケンスを使用することです。
NSString *aString = [NSString stringWithUTF8String:"To be continued\u2026"];
于 2012-09-22T19:46:35.680 に答える