web-dev-qa-db-ja.com

Javaで文字列として中国語と日本語の文字を使用する方法

こんにちは
私はJava言語を使用しています。この場合、文字列として中国語、日本語の文字を使用し、System.out.println()を使用して印刷する必要があります。

どうやってやるの?

ありがとう

15
sjain

Java文字列はUnicodeをサポートしているため、中国語と日本語は問題ありません。ただし、他のツール(テキストエディターなど)とOSシェルについては、おそらくそれについて説明する必要があります。

Unicodeデータの読み取りまたは印刷時には、コンソールまたはストリームがUnicodeもサポートしていることを確認する必要があります(そうでない場合、疑問符に置き換えられる可能性があります)。

Writer unicodeFileWriter = new OutputStreamWriter(
    new FileOutputStream("a.txt"), "UTF-8");
unicodeFileWriter.write("漢字");

JavaソースコードファイルにUnicodeリテラルを直接埋め込むことができますが、ファイルがUTF-8(javac -encoding UTF-8

String x = "漢字";

ワイルドにしたい場合は、メソッド、変数、またはクラスの名前に漢字を使用することもできます。しかし、これは命名規則に反するものであり、少なくともクラス名については推奨しません(ファイル名にマップする必要があり、Unicodeが問題を引き起こす可能性があるため)。

結果 漢字 = new 物().処理();
23
Thilo

Java文字列は完全にユニコードですので、言うのは難しいことではありません

System.out.println("世界您好!");
4

少し時代遅れですが、すごいことになりました!

http://xahlee.org/Java-a-day/unicode_in_Java.html

この記事は、中国語/日本語の文字列をソースに直接書き込むだけで十分であると言うことができる変数の名前付けbuについてです。

もう1つ覚えておかなければならないのは、リーダーはBufferedReaderである必要があるということです。

BufferedReader br = new BufferedReader (new InputStreamReader (new FileInputStream (f), "UTF-8"));

これは、ファイルを読み取るときにreadLine()を呼び出すことができるために行う必要があります。

while (br.readLine() != null)
{
  System.out.println (br.readLine());
}

このメソッドは、通常のReaderに静的でないreadLine()voidメソッドが含まれていないため、正常に機能することがわかった唯一のメソッドです(このメソッドは何も受け入れません)。

1
RANDINT