4 バイト値を保持できる変数文字を作成するにはどうすればよいですか?
楽しみのために、Javaでメッセージを暗号化するプログラムを作成しようとしています。RSA の使い方を理解し、メッセージを暗号化して .txt ファイルに保存するプログラムを作成することができました。たとえば、「Quiet」と入力すると、結果は「041891090280」になります。数値の長さが常に 6 の倍数になるようにコードを書きました。そこで、数値をハッシュコードに変換できると考えました。最初の 3 文字は「041」なので、「)」に変換できます。
ただし、255 を超える数値の char を作成するのに問題があります。オンラインで調べたところ、いくつかの例が見つかりましたが、それらを実装する方法がわかりません。それらをテストするためだけに新しいメソッドを作成しました。
int a = 256;
char b = (char) a;
char c = 0xD836;
char[] cc = Character.toChars(0x1D50A);
System.out.println(b);
System.out.println(c);
System.out.println(cc);
プログラムの出力
?
?
?
私は2バイトしか取得していません。Java は 4 バイトである 65535 までの Unicode を使用することを読みました。それが違いを生む場合、私は日食を使用しています。
ノブの質問で申し訳ありません。そして、前もって感謝します。
編集 申し訳ありませんが、情報を提供しすぎて、混乱を招いてしまったと思います。私がやりたいことは、数字の文字列を Unicode 文字の文字列として保存することです。その方法を私が知っている唯一の方法は、数値文字列を文字に収まるほど小さく分割することです。次に、文字を 1 つずつ新しい文字列に追加します。しかし、可変ユニコード文字を文字列に追加する方法がわかりません。