13.5. テキストの表示と文字コード
テキストファイルを表示してみましょう。
cat #
cat パス
は指定されたパスがテキストファイルだと信じて内容をターミナルに表示します。
前ページ 13.4. 便利な利用法 で紹介した方法で Finder からファイルのパスを指定してみましょう。
ターミナルのプロンプトで cat
までタイプしたあとで japanese-2
のアイコンをターミナルまでドラッグアンドドロップします。
cat /home/hwb/exercise/text/japanese-2.txt
21世紀に入り、人類は、国家を超えた地球大の交わりが飛躍的に強まる時代を迎えている。
...
日本語文章が表示されれば成功です。
文字コード変換 #
同様に japanese-1
を表示しようとすると文字化けします。
cat /home/hwb/exercise/text/japanese-1.txt
B8cGZ$OG-$G$"$k!#L>A0$O$^$@L5$$!#
...
これはターミナルが utf-8 を期待しているのにファイルの内容が別の文字コードを使っているためです。 文字コードを変換しましょう。
ターミナルの文字コード
ターミナルがどの文字コードを期待しているかは、メニューで
Unicode (UTF-8)
となっていることから確認できます。
ここから変更することもできますが、HWBではお勧めしません。
nkf コマンド #
日本語だが文字コードが分からないという場合は、
nkf -w
というコマンドとオプションを覚えておくと utf-8
に変換して読むことができます。
nkf -w filename.txt
UTF-8に変換された日本語
nkf -w /home/hwb/exercise/text/japanese-1.txt
吾輩は猫である。名前はまだ無い。
...
変換された内容の保存
nkf
はフリーソフトウェアで homebrew などからインストールできます。
iconv コマンド #
iconv
コマンドは同様に変換機能を持ちますが、
より多く変換ができる代わりに、ユーザが変換元のエンコーディングを指定する必要があります。
つまり文字エンコーディングが分からないファイルには使えません。
EUC-JP
で書かれたファイルを UTF-8
で表示するには以下のように行います。
iconv -f EUC-JP -t UTF-8 filename.txt
UTF-8に変換された日本語