Linuxに文字コード変換コマンドnkf(Network Kanji Filter)をインストールする
- 公開日
- カテゴリ:Linux
- タグ:Linux,nkf,CharacterCode

nkf(Network Kanji Filter) は、文字コードの変換を行うソフトウェア・ API です。
相互変換に対応している文字コードは以下になります。
- ISO-2022-JP(JIS コード)
- cp932(Shift-JIS)
- EUC-JP(日本語 EUC)
- UTF-8(Unicode)
- UTF-16(Unicode)
文字コードの変換の他に、base64 へのエンコード・デコード、半角・全角への変換も可能です。
nkf自体とても古いものになりますが、メンテナンスプロジェクトも存在しています。
文字コード操作において、Linux では iconv コマンドが標準で導入されていますが、nkf も一方で使われているものなので、最新版の導入方法をここにメモしておきます。
nkf インストール
まずはメンテナンスプロジェクトのページへ行き、最新版を確認します。
https://ja.osdn.net/projects/nkf/
最新版をダウンロードし、コンパイル・インストールを行います。
# ダウンロード
wget 'https://ja.osdn.net/frs/redir.php?m=jaist&f=nkf%2F64158%2Fnkf-2.1.4.tar.gz' -O nkf-2.1.4.tar.gz
# 解凍
tar zxvf nkf-2.1.4.tar.gz
# 移動
cd nkf-2.1.4
# コンパイル
make
# インストール
make install
処理が完了したら、インストールの確認を行います。
[demo@localhost nkf-2.1.4]$ nkf --version
Network Kanji Filter Version 2.1.4 (2015-12-12)
Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).
Copyright (C) 1996-2015, The nkf Project.
これでインストールは完了です。
動作確認
nkf コマンドを使って動作確認を行ってみます。今回はファイルではなく、文字列を Unicode のコードポイントに変換してみます。
[demo@localhost ~]$ echo -en "渡" | nkf -W -w32B0 | xxd -ps -c4 | sed 's/^0*//'
6e21
正常に動作する事を確認できました。