つれづれ電脳記(日くらしPCに向かひて)

つれづれなるままに、日くらしPCに向かひて、その悪戦苦闘ぶりをそこはかとなく書き付くるおじさん。たまに雑談[管理人:goosyun]

つれづれなるままに、日くらしPCに向かひて、デジタル関係の悪戦苦闘ぶりをそこはかとなく書き付くるおじさんです。
たまに雑談してます。連絡・問い合わせフォームは、ページ最下部に置いています。[著者(運営人):goosyun]

(当ブログには本文中に広告リンクが含まれています。)

文字コード等の把握に便利なLinuxコマンドfile

 Windows PCで使っているMicrosoft IME のユーザー辞書を、テキストファイルとしてエクスポートし、Linuxで開きました。
 そうしたら、文字化けして読み取り不能です。

 文字化けの主な要因は、以前の記事に書いたように
1 文字エンコーディングの違い
2 改行コードの違い
の2つです。
 
 文字化けについては、
   こちらの記事をご覧ください。


 では、対象ファイルの
  文字エンコード
  改行コード
は、いったい何が使われているのかを把握するには、どうすればよいでしょうか。

 こういうときに便利なLinuxコマンドがあります。
 それは、「file」というコマンドです。




 
 「file」は、調査対象ファイルのファイル形式などを表示してくれるコマンドです。
 書式は、
   file [オプション] ファイル名1 ファイル名2 ファイル名3……
です。

 そこで、さっそく、fileコマンドを使って、上記のWindowsからエクスポートしたユーザー辞書テキストファイルを調べてみました。
 ターミナルを起動して、 $ file hoge.txt と打ち込みます。

 そうしたら、次のとおり表示されました。
hoge.txt: Unicode text, UTF-16, little-endian text, with CRLF line terminators

 そこに表示された情報から、対象ファイルhoge.txtは、
 1 ファイル形式:テキストファイル
 2 文字コードUTF-16
 3 改行コード:CRLF(キャリッジリターン ラインフィード)
であることが分かります。

 おぉ、便利ですねぇ。これで、調べたいファイルの種類や文字コード、改行コードを把握できます。
 なお、使用されている改行コードが「LF」(ラインフィード)の場合は、「with CRLF line terminators」の情報は出てきません。「with CRLF・・・」が出てこないときは、、改行コードが「LF」であると判断できます。

 文字コード、改行コードが把握できさえすれば、文字化けに対処できます。そういう意味で、実に簡単なコマンドながら、「file」は役に立つツールです。

 ちなみに、情報の一つとして、「little-endian」と出ています。これがいったい何かを調べてみたのですが、当面は必要なさそうです(少なくとも素人にとっては。)。





それでは、また次の記事で
goosyun