Linux:コマンドラインでURLエンコード・デコードする(nkf編)

URLクエリーパラメーターに、URLエンコード・デコードした文字列を指定する時、いちいち「変換便利サイト」や「PHPスクリプト」で変換するのは些か面倒です。Linuxユーザーであれば、普段開いている端末(コンソール)で変換したいのでその方法を調べました。(2014/11/09作成)

アップルパイ Anna86 / Pixabay

nkfとは

nkf はネットワークでメールやニュースの読み書きをするために作られた、漢字コードの変換フィルタである。このnkfの特徴としては、入力漢字コード系の統計的な自動認識機能がある。このため、利用者は、入力漢字コード系が何であるかを知らなくても、出力漢字コード系のみ指定すれば良いことになる。ただ、この判定機構は、理論的には完全ではないが、通常のニュースやメールのメッセージについては確実に動作する安全なものにはなっている。

0. 環境情報

$ rpm -qa | grep -i nkf
nkf-2.0.8b-6.2.el6.x86_64

1.文字コード指定(共通)

文字コードの指定は「w」が「utf-8」となります。他エンコードの指定は「man nkf」を参照ください。

2.エンコード方法

$ echo 'テスト' | nkf -WwMQ | tr = %
%E3%83%86%E3%82%B9%E3%83%88

3.デコード方法

$ echo %E3%83%86%E3%82%B9%E3%83%88 | nkf -w --url-input
テスト

以上


About yoshimasa

埼玉県さいたま市在住、2男3女のパパです。Linux系の技術情報を中心にまとめています。1978年2月生まれ。