Shift_JIS文字コード表
#! /usr/local/bin/perl print qq(Content-type: text/html; charset=Shift_JIS\n\n); print <<END; <html> <head> <title>Shift_JIS文字コード表\</title><style type="text/css"> <!-- body { text-align:center; } h1 { margin:2px; font-size:18px; text-align:center; } table { margin:20px; width:95%; border-top:1px solid #666; border-left:1px solid #666; } th, td { text-align:center; border-right:1px solid #666; border-bottom:1px solid #666; } th { background:#fc9; } //--> </style> </head> <body> <h1>Shift_JIS文字コード表\</h1> END print qq(<table cellspacing="0">\n); print qq(<tr>); print qq(<th>2バイトコード</th>); for($i = 0 ; $i < 16; $i++) { printf(qq(<th>+%x</th>), $i); } print qq(</tr>\n); for($i = 0 ; $i < 2 ; $i++) { if($i == 0) { $start = hex("81"); $end = hex("9f"); } else { $start = hex("e0"); $end = hex("ef"); } for($j = $start ; $j <= $end ; $j++) { my $start2 = hex("40"); my $end2 = hex("fc"); for($k = $start2 ; $k <= $end2 ; $k++) { if(($k - $start2) % 16 == 0) { print qq(<tr>); printf(qq(<th>%x%x</th>), $j, $k); } printf(qq(<td title="%x%x">%s%s</td>), $j, $k, chr($j), chr($k)); if(($k + 1 - $start2) % 16 == 0) { print qq(</tr>\n); } } while(($k++ - $start2) % 16 != 0) { print qq(<td> </td>); } print qq(</tr>\n); } } print qq(</table>\n); print qq(<table cellspacing="0">\n); print qq(<tr>); print qq(<th>1バイトコード</th>); for($i = 0 ; $i < 16; $i++) { printf(qq(<th>+%x</th>), $i); } print qq(</tr>\n); for($i = 0 ; $i < 16 ; $i++) { print qq(<tr>); printf(qq(<th>%x0</th>), $i); for($j = 0 ; $j < 16 ; $j++) { printf(qq(<td title="%02x">%s</td>), $i * 16 + $j, chr($i * 16 + $j)); } print qq(</tr>\n); } print qq(</table>\n); print <<END; <a href="/">←戻る</a> </body> </html> END exit;
〔 実行する 〕