16進数変換
「Code Checker」はPerl/CGIプログラム内で使用する文字の16進コードを調べるツールです。
使い方もシンプルで、入力欄に調べたい文字を入力し、変換ボタンを押すだけです。
文字コードによって対応する16進コードも変わってくるので、主に利用されるであろう「Shift_Jis」「EUC-JP」「UTF-8」の3種類に対応できるすぐれものとなっています。
ぼくも文字の正規表現を利用する際に、このツールを使って確認したりしています。
ではこのツールを使って、「あ」という文字を16進コードに変換し表示させてみましょう。
せっかくなので対応している文字コードそれぞれのバージョンを作ってみます。
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」にしてみましたので、実行結果を確認できます。