コマンドラインでパーセントエンコード・デコードしたい
環境
- macOS Monterey 12.3.1
nkf コマンドをインストール
$ brew install nkf # インストールできたか確認 $ nkf --version Network Kanji Filter Version 2.1.5 (2018-12-15) Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa). Copyright (C) 1996-2018, The nkf Project.
エンコード
text='ほ👺👪🍎げ' echo $text | nkf -WwMQ | tr = % %E3%81%BB%F0%9F%91%BA%F0%9F%91%AA%F0%9F%8D%8E%E3%81%92
文字コードのオプションがないと、絵文字の入力で文字化けする
W
… 入力を UTF-8 とするw
… 出力を UTF-8 とするMQ
… quoted-printable エンコード- URL として使えるように、quoted-printable エンコードの結果
=
になった部分を tr で%
に変換している
デコード
$ text='%E3%81%BB%F0%9F%91%BA%F0%9F%91%AA%F0%9F%8D%8E%E3%81%92' $ echo $text | nkf --url-input ほ👺👪🍎げ