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月生まれ。

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

  1. りょう says:

    この記事、役立ちました! ありがとう御座います。たまに URLエンコードされた名前を持つファイルが手に入ってしまう(?)ことがあり、それを日本語ファイル名に直すシェルスクリプトを書くことができました。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください