Unicode の16進数の実体参照を正規表現などで元に戻す 2008-05-10-3 [Programming] 普段は適切に処理をされてて問題にならないんだけど、 ときどきひょんな局面で出会ってしまうのが、 "�" という形式の文字列、16進数の実体参照です。 Perl でデコードする方法をメモ。 pack と Encode::decode を使うと良いみたい。 #!/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";