マクロミルアンケートモニタ
200万人が参加のアンケートサイト! 楽しく!簡単に!ポイントが貯まる! 貯めたポイントはお小遣いに♪
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
juniversalchardet エンコーディングを判別してくれるオープンソースの Java ライブラリで、 Mozilla のエンコーディング判別ライブラリ universalchardet を Java に移植したもの データのエンコーディングを知りたいときに使えるみたい
判別可能なエンコーディング例 日本語 ・ISO-2022-JP ・Shift_JIS ・EUC-JP Unicode ・UTF-8 ・UTF-16BE / UTF-16LE ・UTF-32BE / UTF-32LE ……など
使い方はというと…
配布されている jar をクラスパスに通してこんなコードを書きます。 UniversalDetector detector = new UniversalDetector(null); FileInputStream fis = new FileInputStream(”test.txt”); // このファイルのエンコーディングを調べる // サンプルデータを与える byte[] buf = new byte[4096]; int nread; while ((nread = fis.read(buf)) > 0 && ! detector.isDone()) { detector.handleData(buf, 0, nread); } detector.dataEnd(); // エンコーディング名を取得する String encoding = detector.getDetectedCharset(); if (encoding != null) { System.out.println(encoding); } else { System.out.println(”エンコーディング不明です。”); } detector.reset(); 実際 Java でエンコーディングを取得する場面はそんなにないと思いますが、知っておくと便利かも
http://code.google.com/p/juniversalchardet/
[6回]