2016年11月05日

ハングルをテキストデータで扱えるか

 ちょっとした経緯で、オーツはハングルをテキストデータで扱えるか、試すことになりました。
 半角英数字とハングルが混在するテキストファイルをプログラムで読み込んで処理するというものでした。
 プログラムは半角文字が使われているように設計されていました。それを変更することはできません。
 では、テキストファイルでハングルを入れると、どうなるのでしょうか。エディタで扱えればそれでよしです。
 まず、ハングルで書かれた Word のファイルをもらいました。次にテキストエディタ MIFES で、テキストファイルを用意し、Word のほうで一部をコピーし、MIFES でペーストしました。「設定」から「環境設定」をクリックし、「文字コード」を「韓国語」にすると、半角英数字とハングルが混じって表示されます。これはいけそうです。
 そこで、このファイルを「保存」しました。その上で、バイナリファイルとして中身を見てみると、半角文字は普通は1バイトで扱われるのに、2バイトになっていました。そして、ファイルの先頭に変な文字が2文字入っていました。16進コードで「FF FE」だったですかね。
 というわけで、このファイルをソフトで読み込んでも、半角文字が正常に認識されず、データとして扱えないことがわかりました。
 オーツの予想通り、ハングルのテキストファイルを扱うのはどうも無理なようです。
2016.12.9 追記
 98 さんからのご教示により、無事にハングルがテキストデータとして扱えることがわかりました。
http://o-tsu.seesaa.net/article/444731009.html
よろしければこちらをご参照ください。
posted by オーツ at 06:38| Comment(4) | TrackBack(0) | パソコンとIT | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
韓国語にも文字コードが何種類もあり、適切なものを選べば半角は1バイト、ハングルは2バイトになると思います。次のところに書いてあるJohabでしょうか??

http://www.megasoft.co.jp/support/mifes/code_list.html
Posted by 98 at 2016年11月05日 11:50
98 様
 いいえ、Johab ではハングルが正しく表示できません。(少なくとも、Word のハングルのコピペでは。)
 KS_C_5601-1987 で表示しています。
 保存してからバイナリで見てみると、Johab の場合は半角文字が半角で表示されます。それはいいのですが、ハングルの方がめちゃくちゃでは実用的に使えないと思います。

 なお、文字コードを「ハングル」に指定するだけではなく、「フォント」も「ハングル」に変えないときちんと表示されません。
 本文の記載は情報不十分でした。

Posted by オーツ at 2016年11月05日 21:11
MIFESやJohabのことは分からないのですが、私の使っている古いバージョンのEmEditorなら「韓国語(EUC)」というフォントを選べば表示も編集も問題なくでき、保存すれば半角は1バイトになるのです。

今もまだお話が理解できていないようなら申し訳ありません。
Posted by 98 at 2016年11月05日 21:22
98 様
 コメントが届いていることに長いこと気づかぬままになってしまいました。
 失礼しました。
 EmEditor を使うべきか否か、まようところです。ちょっと考えてみます。
Posted by オーツ at 2016年12月08日 07:29
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック