RitoLabo

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

正常に動作する事を確認できました。