Unicode の16進数の数値文字参照を正規表現などで元に戻す
- Summary
� のような数値文字参照から元の文字に戻す方法.
- Encodeを使用する方法
#!/usr/bin/perl use strict; use warnings; use Encode; use utf8; binmode STDOUT, ":utf8"; my $a = "情報時代"; $a =~ s/&#x([0-9A-F]{4});/decode('UCS2', pack('H*', $1))/ge; print "$a\n";
- HTML::Entitiesを使用する方法
my $a = "情報時代"; use HTML::Entities; print HTML::Entities::decode($a), "\n";
- 正規表現を使用する方法
my $a = "情報時代"; $a =~ s/&#x([0-9A-F]{4});/chr(hex($1))/ge; print "$a\n";
- Reference
たつをのChangeLog - 2008-05-10 - Unicode の16進数の実体参照を正規表現などで元に戻す
http://chalow.net/2008-05-10-3.html
404 Blog Not Found - 2008-05-11 - perl - 文字参照を(en|de)codeする
http://blog.livedoor.jp/dankogai/archives/51048882.html
HTML::Entities