2014年11月22日土曜日

javaの文字コード変換サンプルコード

javaの文字コード変換はString.getBytes()を使う方法が主流な様子だけど、別の書き方を見つけたのでメモしておく。

 public void testEncoding(){
  String target = "日本語"; 
  Charset cs = Charset.forName("UTF-8");
  //Charset cs = Charset.forName("Shift-JIS"); // SHIFT-JISに変換したい場合はこれを使う。
  //Charset cs = Charset.forName("EUC-JP");// EUC-JPに変換したい場合はこれを。
  //Charset cs = Charset.forName("ISO-2022-JP");//ISO-2022-JPに変換したい場合はこれを。
  ByteBuffer bf = cs.encode(target);

  try {
   File file = new File("output.txt");
   FileOutputStream fos = new FileOutputStream(file);
   fos.write(bf.array());
   fos.close();

  }catch(Exception e){
   e.printStackTrace();
  }

 }


なお、正しく出力されているのか確認したい場合はブラウザを使うと手っ取り早い。テキストファイルをブラウザで開き、文字コードを変更することによって希望のエンコーディングがされているか確認できる。


参考文献
JavaでUTF-8の文字コードを判定する
[Java]いいから聞け! 俺が文字コードについて教えてやるよ その2(Javaの文字コード編)

0 件のコメント:

コメントを投稿