私はこの質問とその答えをここで読む: Java: Convert String “\uFFFF” into char。 この質問は、私が必要とするものに非常に近いものの、私の要求に答えるものではありません。Java:UTF表現の文字列を単一のUTF Charに変換しますか?
文字列がString ori = new String("\"" + "\u" + n + "\"");
で構成されている場合はどうなりますか?nはInteger.toString(i)によって形成される文字列です。ここで、iはintですか?この文字列変数ori
はどのようにしてUnicode文字に変換できますか?その場合 String n = Integer.toString(i);
n = "0000".substring(n.length()) + n;
、それらの応答が調節される方法を次のよう
nまで私から鎖でありますか?たとえば、 char c = "\uFFFF".toCharArray()[0];
?
チェックしました。上記のコードは、次のように置き換えることはできません:char c = ori.toCharArray()[0];
coversionはプログラム内にあるため、表示されている値をハードコーディングします。 char c = '\uFFFF';
は自分のコードでは使用できません。
Character and Byte Streamsと、プログラム例StreamConverter.javaを見ることができます。ストリーム "\ u65e5 \ u672c \ u8a9e \ u6587 \ u5b57 \ u5217"を自分のエントリ(たとえば "\ u005a")に置き換え、コンソールとGUIの両方に文字Zを使用します。
また、プログラムとstringConverter.javaを参照してください。ここでは、6要素の整数文字列のそれぞれがUTF文字に置き換えられています。
しかし、なぜこのコードは動作しますが、私のものではありませんか?
古い質問を参照して新しい質問を投稿し、既存の質問への回答があなたの問題を解決しない理由を説明してください。 – dpr
*なぜ*は 'String ori'ですか?あなたの要件は何ですか? '\ unnnn'は実行時ではなくコンパイラの表記法です。実行時には、16進数ではなく実際の文字コードを使用します。 – EJP
ランダムなコードを使うたびに、変数iは新しいnを作成し、したがってユニコード値の新しい文字列を作成します。だから私は文字列をUnicode文字に変換する必要があります。 "\ u0056"と "0x0056"のような2つのフォームを作成できますが、これ以上は必要ありません。 – Rajibando