コマンドを使用すると、このフォームで p を印刷すると、p "U4e3dU5c71" の大文字と小文字が異なることがわかりました。正しい形式は error: incomplete universal character name (4 桁) または u (8 桁) です。明確なテキストの説明は見つかりませんでしたが、小文字は p "u4e3du5c71"p "U00004e3dU00005c71"[NSString and Unicode]BMK であり、デフォルトではプレーン 0 であり、最初の 4 桁はデフォルトで 0 であると推測できます。
これは確かにバイナリではなく、Unicode エンコーディングです。これらのエンコーディングを出力するには、lldb の
p
コマンドまたはシェルのecho
コマンドを使用できます。どちらも、読みやすい中国語を出力できます。iOS 5 以降 (検証はありませんが、初期の印刷配列と辞書は現在の印刷オブジェクト の表示と一致します)、印刷配列と辞書は特定のデータ構造を示します。 (
description
メソッド)、これはデバッグに便利ですが、文字列を出力するときに処理は行われません (ここでは文字のエスケープなど)。これはデバッグ専用であり、特定の文字列を出力するときに、その文字列のdesciption
メソッドを呼び出すと、読み取り可能な中国語にエスケープされます。つまり、特別に処理されるときに自動的にエスケープされます。自分で変換する必要はありませんし、すべきではありません。コンソールに中国語を表示する必要がある場合は、これを実行できます。
NSLog(@"%@",[NSString stringWithCString:[[dictionary description] cStringUsingEncoding:NSUTF8StringEncoding] encoding:NSNonLossyASCIIStringEncoding]);
メソッドをオーバーライドすることもできます。しかし、個人的にはこれは必要ないと感じています。description
コマンドを使用すると、このフォームで
p
を印刷すると、p "U4e3dU5c71"
の大文字と小文字が異なることがわかりました。正しい形式はerror: incomplete universal character name
(4 桁) またはu
(8 桁) です。明確なテキストの説明は見つかりませんでしたが、小文字はp "u4e3du5c71"
p "U00004e3dU00005c71"
[NSString and Unicode]BMK
であり、デフォルトではプレーン 0 であり、最初の 4 桁はデフォルトで 0 であると推測できます。json を辞書に変換し、キー値に基づいてデータを取得します
iOS 開発の初心者が怒って答えました。
まず訂正させてください。
"u8bc4u8bbau6807u9898"
は、質問者が述べたように「バイナリ」ではありません。したがって、Unicode をデコードして中国語に変換するだけで済みます。 . ~この問題を解決するにはおそらく 2 つの方法があります~
オンライン変換ツールを使用します。Baidu では多くの検索が行われるため、具体的な例は示しません。
変換用のツール クラスを作成し、以下のコードを貼り付けます。
lldb に直接投稿