KDP(電子出版)のメモ 急急如律令

Amazon Kindleダイレクト・パブリッシングでの電子出版や電子書籍の作成販売について、文章やイラストの作成や編集方法について書いています。

JAVAのテキストの読み込みと文字コード自動判別

 UniversalDetectorを使うと文字コード自動判別ができるそうなんで使ってみよう。シフトJISのテキストファイルを文字コードを指定せずに読み込むと、文字化けして表示される。ただ、毎回文字コードを指定するのが面倒なので、自動で判別してみたい。

 

 アンドロイドの場合は

エクスプローラーからテキストファイルを選択して読み込んで表示する。」というのをやりたい。

 まず、assetsフォルダーからテキストファイルを読み込んで表示する。下記のリンクではedittextを使っているが、

 

androidstudio.hatenablog.com

 

android studioにgradleから

implementation 'com.github.albfernandez:juniversalchardet:2.4.0'

を追加してsyncボタンを押すとインストールされるらしい。

 

ameblo.jp

UniversalDetectorの使い方はDetector.javaを下のリンクの通り作ってから。

テキストファイルをinputstreamで読み込んで

cs = Detector.getCharsetName(is);

csに判定された、文字コード入る。

そのままストリームリーダーで読み込めばいいのかなと思ったが。判定に使ったテキストが削られていた。

br = new BufferedReader(new InputStreamReader(is, cs));

qiita.com

 

AozoraEpub3に文字コード判別機能を入れれたらな。

github.com