[ アカウントをゲット! ]
http://twitter.com/mumumu [twitter.com]
FAQ About me:
「ヽ(´ー`)ノ」の顔文字にごはんつぶがついているのはなぜ? [slashdot.jp]
2ちゃんねる.jpやmumumu.muのmumumuさんですか? [slashdot.jp]
よく使う顔文字は? [slashdot.jp]
http://www.w3.org/TR/html401/charset.html#h-5.3.1
HTML中では、数値文字参照という形で、文字を表す
ために「&#」に続けてUnicodeのコードポイントを
挿入することが許されている。Webページや果てはRSS
においてさえ、これが挿入されているケースが存在し
ている。身近なところでの良い例はEngadget Japanese
があげられるだろう。
巷では、日本語の文字列をこの数値文字参照に変換す
るケースは結構存在している。しかし、rss2imap等で
は、この逆の処理、つまり数値文字参照を文字に変換
する処理が必要である。
----
perl -MEncode -p -i -e '
s/\&#(x)?([a-f0-9]{1,5});/
my $tmpstr = ($1)
? pack( "H*", sprintf( "%08s", "$2" ) )
: pack( "N*", $2 );
Encode::encode( "iso-2022-jp",
Encode::decode( "UTF-32BE", $tmpstr )
);
/eig;
' < engadget.xml
----
としたら思い通りにできた。HTMLの数値文字参照は、
Unicodeのコードポイントを10進数または16進数で表
現したものに過ぎない。それを32ビットのバイナリに
直せば UTF-32BE(LE)となる。あとはEncodeを通せば変
換し放題、というわけだ。
[ Update August 12th 6:30 JST by m ]
UTF-32BEに変換し、Encodeを使う方向で全面的に
修正。 御協力頂いたumqさめ、及び某チャンネルの
方々に感謝しますm(_ _)m
このページのすべての商標と著作権はそれぞれの所有者が有します。
コメントやユーザ日記に関しては投稿者が有します。
のこりのものは、© 2001-2010 OSDN です。
数値文字参照 (スコア:1)
でいけるはず。
Masafumi Otsune [otsune.com]