あるプログラマーのリハビリ
unicode絡みで気になる話があって、\uXXXXみたいな数字からUTF-8にしてどう
なっているかを表示するプログラムをperlとrubyで書いてみた。久しぶりに手
を出したおかげでえらく時間がかかったが、実際のプログラムを書いてみたら、
こんなに簡単なんだっけ、というレベル。
最近プログラムを書いていないとはいえ、これでこんなに時間がかかるのは恥
ずかしい。なんとか感覚を取り戻していかないと。ゆっくりリハビリしていこ
rubyだとこんな感じ
def makeUtf8(arg) # \uXXXXをpackする arg.gsub!(/\\u(\w{4})/) {|m| m=$1 [m.hex].pack("U") } print "[xxx]\n", arg, "\n[xxx]\n" end
perlだとこんな感じ
sub makeutf8 { $test = shift; # \uxxxxをUTF8に直す $test =~ s/\\u(\w{4})/pack("U",hex($1))/eg; print "[xxx]\n", $test, "\n[xxx]\n"; }