トップ «前の日記(2009-10-18(Sun)) 最新 次の日記(2009-10-26(Mon))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2009-10-25(Sun) どんより

2.0.5から2.0.9へ

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&#x6570;&#x5024;&#x6587;&#x5b57;&#x53c2;&#x7167;def
 
$ echo ABC数値文字参照def | nkf -e | h_enc.rb
ABC&#x6570;&#x5024;&#x6587;&#x5b57;&#x53c2;&#x7167;def
 
$ echo ABC数値文字参照def | nkf -w | h_enc.rb
ABC&#x6570;&#x5024;&#x6587;&#x5b57;&#x53c2;&#x7167;def
 
$ echo ABC数値文字参照def | nkf -s | h_enc.rb
ABC&#x6570;&#x5024;&#x6587;&#x5b57;&#x53c2;&#x7167;def

ちなみに、十進値ではこうなった。

$ echo ABC数値文字参照def | ruby d_enc.rb 
ABC&#25968;&#20516;&#25991;&#23383;&#21442;&#29031;def

ASCII文字の参照も面白そうだけど、ちょっと 危い気がする。

また少し

呟きスクリプトを 改良
アンパサンドなどの文字参照の一部を戻す処理を追加。
しかしまだ、アンパサンドを含めた呟きが送信できない。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。