1

Linux サーバーで JDK 1.7 を使用しています。私はApache 6.0.35をインストールし、コードを使用しています

Writer w = new OutputStreamWriter(os,"Unicode");

Unicode 形式でファイルを書き込みます。

しかし、ファイルはユニコードビッグエンディアン形式で生成されています。別の出力形式を選択するにはどうすればよいですか?

4

3 に答える 3

3

「Unicode」は単一の形式ではありませんが、UTF-16(ビッグエンディアンおよびリトルエンディアン)やUTF-8などのエンコーディングを指定します。

UTF-16LEおそらく、ではなく、のような特定のものが必要ですUnicodehttp://docs.oracle.com/javase/7/docs/api/java/nio/charset/StandardCharsets.htmlのリストをご覧ください

于 2013-01-03T10:51:35.623 に答える
1

Unicode または UTF-16 を使用する場合、デフォルトでビッグ エンディアンになります。エンディアンを指定しない場合、Java は原則としてビッグ エンディアンを想定します。リトルエンディアンが必要な場合は、"UTF-16LE"またはで指定する必要がありますStandardCharsets.UTF_16LE

java.nio.charset.StandardCharsets から

public static final Charset UTF_16LE = Charset.forName("UTF-16LE");
于 2013-01-03T10:52:36.577 に答える
0

Java文字セット名の「UTF-16」は、ビッグエンディアンのUTF-16を意味します。このリトル エンディアン形式のようなものを試してください。

BufferedWriter out = new BufferedWriter
    (new OutputStreamWriter(new FileOutputStream(path),"UTF-16LE"));
于 2015-07-15T18:51:25.200 に答える