16進数変換

Code Checker」はPerl/CGIプログラム内で使用する文字の16進コードを調べるツールです。

使い方もシンプルで、入力欄に調べたい文字を入力し、変換ボタンを押すだけです。

文字コードによって対応する16進コードも変わってくるので、主に利用されるであろう「Shift_Jis」「EUC-JP」「UTF-8」の3種類に対応できるすぐれものとなっています。

ぼくも文字の正規表現を利用する際に、このツールを使って確認したりしています。

ではこのツールを使って、「あ」という文字を16進コードに変換し表示させてみましょう。

せっかくなので対応している文字コードそれぞれのバージョンを作ってみます。

  1. Shift_Jisコード
  2. EUCコード
  3. UTF-8コード

Shift_Jisコード

まずは、「Shift_Jis」からいきましょう。

Shift_Jisコードを選び、入力欄に「あ」と入力し変換ボタンを押します。

すると、「\x82\xA0」と表示されるので、以下のようにprint関数で出力させます。

#!/usr/bin/perl

print "Content-type: text/html; charset=shift_jis\n\n";
print "\x82\xA0";
exit;

sample1.cgi」にしてみましたので、実行結果を確認できます。

EUCコード

次はEUCコードバージョンを作ってみます。

EUCコードの「あ」を調べてみると、「\xA4\xA2」になるので、Perl/CGIプログラムも以下のようになります。

#!/usr/bin/perl

print "Content-type: text/html; charset=euc-jp\n\n";
print "\xA4\xA2";
exit;

sample2.cgi」にしてみましたので、実行結果を確認できます。

UTF-8コード

最後はUTF-8コードですね。

UTF-8コードの「あ」を調べてみると、「\xE3\x81\x82」となるので、これをPerl/CGIプログラムに組み込んでみると以下のようになります。

#!/usr/bin/perl

print "Content-type: text/html; charset=utf-8\n\n";
print "\xE3\x81\x82";
exit;

sample3.cgi」にしてみましたので、実行結果を確認できます。