SJISのCSVファイルの読み込み2015年08月26日 20:51

アプリで使う漢字データを、Excel2010で作成し、CSVで保存。そのまま取り込むと文字化け。Cygwinを起動し、"od -t x1"で覗くと、SJIS。Unicodeにしなくては。あらかじめファイルを変換してしまう方が楽だが、ストアアプリ(UWP)での変換も習得しておいたほうがいい。

SJISのCSVファイルを読み込んでUTF-8にする

そのままでは、SJISは使えない。最初の2行のおまじないが要る。

CSVファイルに対してFileStreamを用意し、StreamReaderで読み込む。最初、Encoding(sjis)を指定しなくて失敗。読み込んでから壊れたデータをいくらコード変換しようとしてもだめ。

読み込んだStringをGetBytesでbyte列に変換の上、Encoding.ConvertでUTF-8にコード変換。ここから逆戻り。byte列をchar配列に変換の上、Stringに戻す。ここまで来てはじめて、Splitでカンマ区切りの文字列を分解。

変換ばかりで手間がかかるが、まあ、できる。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://c5d5e5.asablo.jp/blog/2015/08/26/7751345/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。