- ベストアンサー
メモ帳で保存した日本語テキストや日本語XMLをJavaで読込、保存。メモ帳での保存文字コードはなにが推奨されるでしょうか?
Windows9x系ではないWindowsVistaやXP、NT、2000のメモ帳(Unicodeのbig endianは保存できるがおそらくUnicodeのbig endianでのBOMなし保存不可。UTF-8は保存できるがUTF-8でのBOMなし(UTF-8N)の保存不可。Unicodeのlittle endianは保存できるが仕様なので言うまでもないがUnicodeのlittle endianでのBOMなし保存不可。)で保存した日本語テキストや日本語XMLをJavaで読込、保存。メモ帳での保存文字コードはなにが推奨されるでしょうか? やはりJavaのString型に近いUnicode big endianがよいのでしょうか? それともJava側で自動認識してくれるのでしょうか? XMLの場合は1行目でそのXMLファイルが使用している文字コードが何か宣言しますよね。 でもテキストファイルだと文字コードを宣言する場所がないみたいですし・・・(ここでの文字コードを宣言する場所としてはBOMは例外ですよ 念のため) 補足:メモ帳だとUnicode big endianで保存すると必ずBOMが付くみたいです。 メモ帳はLF改行が使えません。CR+LF改行のみ対応です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
noname#33813
回答No.3
noname#33813
回答No.2
noname#33813
回答No.1
お礼
ありがとうございました! WinXP以降のメモ帳であれば「MS932」の代わりに「UTF-8」でも 大丈夫なようです。 http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/intl/encoding.doc.html http://www.ingrid.org/java/i18n/encoding/table-j.html
補足
thamansaさま、ご回答ありがとうございます。 特定の(MS932とは限らない)文字コードで保存する場合のプログラムはどのように書けばよろしいのでしょうか? FileOutputStreamクラスはなんとなく分かるのですが BufferedWriterとPrintWriterクラスのどちらを使えばよいのかが分かりません。 よろしくお願いいたします。 補足:将来はJavaFX Scriptで簡単にできるようになるかもしれませんね。 http://www.atmarkit.co.jp/news/200705/09/javafx.html