Training to develop the IT skills

IT技術の習得を日々記録します

全角英数字を半角英数字に 半角カナを全角カナに nkfで変換

encode_halfwidth = NKF.nkf('-m0Z1 -W -w', "AABBBBBAAアアアああアアアアアアアアアアアア")

=>

AABBBBBAAアアアああアアアアアアアアアアアア 

-m[BQN0] MIME(電子メール用のフォーマット)を解読する

エンコーディングの変換のみをするならば以下を指定しておくべき

-m0 MIME の解読を一切しない。

-Z[0-3] X0208 のアルファベットといくつかの記号を ASCII に変換する

-Z -Z0 X0208アルファベットといくつかの記号を ASCII に変換する
-Z1 X0208空白(いわゆる全角空白)を ASCII の空白に変換する
-Z2 X0208空白(いわゆる全角空白)を ASCII の空白2つに変換する
-Z3 X0208の>、<、”、&、を '>', '<', '"', '&' に変換する

X0208(全角) ASCII(半角)

出力フォーマットの指定 -j -s -e -w -w16

-j ISO-2022-JP (7bit JIS) を出力する(デフォルト)
-s Shift_JIS を出力する
-e EUC-JP を出力する
-w UTF-8 を出力する(BOMなし)
-w 16 UTF-16 LE を出力する

入力フォーマットの指定 -J -S -E -W -W16

-J 入力に JIS を仮定する
-S 入力に Shift_JIS と X0201片仮名(いわゆる半角片仮名)を仮定する。-xを指定しない場合はX0201片仮名(いわゆる半角片仮名)はX0208の 片仮名(いわゆる全角片仮名)に変換される
-E 入力に EUC-JP を仮定する
-W 入力に UTF-8 を仮定する
-W16 入力に UTF-16LE を仮定する