僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
Plamo-4.7の nkf を上げた。"いわゆる"全角を"いわゆる"半角に
変換するオプション"-Z4"が付加された模様(manに未掲載)。
man nkf すると早速化けた。nkf.1jをISO-2022-JPからEUC-JPに変えておく。
カタカナをひらがなに変えるオプションは "--hiragana"
だけど、マニュアルには "--hirakana"と記述されていた。
既に指摘されてるようだけど。
--numchar-input は、気づくのが遅すぎた。
するフィルタを探す。
適当にぐぐって
見つけた関数を借用。
少し変えて、16進値で出力されるようにする。
#!/usr/bin/env ruby Class String def my_toref require 'kconv' toutf16.unpack( "n*" ).map do |n| (n < 128 ? '%c' : 'x%x;') % n end.join end end while( line = gets) puts line.my_toref end
この場合は入力する文字列がどの(J,E,W,S)漢字であっても 同じ結果になった。
$ echo ABC数値文字参照def | nkf -j | h_enc.rb ABC数値文字参照def $ echo ABC数値文字参照def | nkf -e | h_enc.rb ABC数値文字参照def $ echo ABC数値文字参照def | nkf -w | h_enc.rb ABC数値文字参照def $ echo ABC数値文字参照def | nkf -s | h_enc.rb ABC数値文字参照def
ちなみに、十進値ではこうなった。
$ echo ABC数値文字参照def | ruby d_enc.rb ABC数値文字参照def
ASCII文字の参照も面白そうだけど、ちょっと 危い気がする。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。