memo.xight.org

日々のメモ

カテゴリ : Unicode

1ページ目 / 全1ページ

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