1. Perl
  2. 文字コード
  3. Unicode
  4. コードポイント

ユニコード文字をコードポイントで表現する

ユニコード文字には、すべての文字にコードポイントが割り当てられています。Perlでは、ユニコード文字をコードポイントを使って表現することができます。

# あ
my $str = "\x{3042}";

コードポイントで表現されたユニコード文字を含む文字列は、utf8プラグマのあるなしにかかわらず、常に内部文字列として扱われるので注意してください。つまりすでにデコードされた状態だということですね。出力するには以下のようにエンコードします。

use Encode 'encode';
print encode('UTF-8', $str);

windowsの場合はcp932を文字コードとして指定してみてください。

Perlテキスト処理のエッセンス
  • 初級者向け・テキスト処理と正規表現の基本をマスター
業務に役立つPerl
  • 実務者向け・ログ解析など日本語を含むテキスト処理の実践!
Perlクラブ
  • 仲間と出会い
    ゆとりあるエンジニアライフを送る