-1

53392この int num:をキリル文字に変換したいA。私はこれを使用します:NSString *string = [NSString stringWithFormat:@"%c", 53392];しかし、これは適切に機能し、奇妙なシンボルを返します。誰かが私を助けることができますか?

4

3 に答える 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 に答える