💡💡nkfコマンド めも💡💡
nkf?
Linuxの基本的なコマンド。
文字コードや改行コードを変換する。
「Network Kanji Filter」の略
--hが結構親切なのでそれで事足りそう。
Macで使う
Homebrewでインストールする。
$ brew install nkf
Winで使う
https://www.vector.co.jp/soft/win95/util/se295331.html
をインストール(めちゃ古い)
参考>https://qiita.com/ponsuke0531/items/d0b6d743a70c624a1ba7
いろいろ使ってみよう
・パーセントエンコード(URLエンコード)
code:command.bash
#エンコード
$ echo 'テスト' | nkf -WwMQ | tr = %
%E3%83%86%E3%82%B9%E3%83%88
#デコード
echo %E3%83%86%E3%82%B9%E3%83%88 | nkf -w --url-input
テスト
オプション
table:-WwMQ
W 入力>UTF-8(で入力したものと仮定して処理する)
w 出力>UTF-8
MQ MIME quoted変換(16進数)
--url-input %の後の16進数を変換する
---- ----
tr trコマンド。文字を置換する。ここでは=を%に変換している。標準出力しかできないらしい
なので、エンコードのコマンドの意味は
「"テスト"というUTF-8の文字列をMIME quotedして、=を%にする」ということ。
code:ちなみに.bash
#trコマンドなしだとこうなる
$ echo 'テスト' | nkf -WwMQ
=E3=83=86=E3=82=B9=E3=83=88
・BOMありUTF-8をBOMなしに変換
BOM【Byte Order Mark】
ファイルの冒頭に記載される短い符号。うっかりついたままサーバーアップするとなんかおかしなことになることがある。
UTF-8では0xEF 0xBB 0xBFの3バイト。(0xは16進数の意)