ターミナルで文字コードを変換!

(※このページは2020年4月22日に更新)

この記事では Mac で文字コードを変換する方法を紹介します。

Windows PC から送られてきたファイルを Mac で開くと文字化けして読めない!
(またはその逆パターン)
という経験がある方は一定数いると思います。
これはそれぞれの OS で標準的に採用されている文字コードが異なるために、そのままの状態では正常に読み込むことが出来ないため「文字化け」という一種の読み取りエラーが生じます。


Windows では一般に「Shift-JIS」、Mac では「UTF-8」という文字コードが採用されています。
(最近のアップデートで Windows の「メモ帳」の標準文字コードが UTF-8 に変更されたそうです
参照:https://xtech.nikkei.com/atcl/nxt/column/18/00723/042300004/?P=3)


話を本題に戻します。

Mac で文字コードを変換する場合には「nkf」コマンドを使います。

ターミナルで

nkf --version

を実行し、以下のような情報が表示されれば nkf コマンドは使用可能

Network Kanji Filter Version 2.1.5 (2018-12-15)
Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).
Copyright (C) 1996-2018, The nkf Project.

表示されなかった場合は例のごとく Homebrew でインストールします

brew install nkf

nkf コマンドの使い方

nkf コマンドの書式は以下の通りです

nkf "オプションキー" "文字コードを変更したいファイル名"

“オプションキー” の例

  • –guess 指定ファイルの文字コードを確認
  • -s Shift_JIS に変換
  • -e EUC-JIS に変換
  • -w UTF-8 に変換
  • –overwrite ファイルを変換後、上書き
  • –hiragana カタカナをひらがなに変換
  • –katakana ひらがなをカタカナに変換
  • –katakana-hiragana カタカナをひらがなに、ひらがなをカタカナに変換

その他にも色々なコマンドが用意されているので、気になった方は以下のサイトで確認してみてください!
https://linux.die.net/man/1/nkf

使用例

hoge.txt というファイルの文字コードを確認する場合

nkf --guess hoge.txt

hoge.txt というファイルを UTF-8 に変換し、上書きする場合

nkf -w --overwrite hoge.txt

将来的に文字コードは統一されると思いますが、今のところ複数の文字コードが共存しているので、もしもの時のために変換方法を覚えておくといざという時にきっと役立つはずです!

Comments

タイトルとURLをコピーしました