サイトトップへ戻る

メールアドレスを変換する方法のヒント

高校生の教材にできそうだと思って、メモしておきます。

メールアドレスのエンコードどは

メールアドレスをエンコードするとはここでは文字をアスキーコードに変換して
「&#(アスキー10進数);」「&#x(アスキー16進数);」
とすることとします。

ソースを見るとメールアドレスには見えないですが、ブラウザを通して見ると普通通りの文字として見ることができます。

たとえば「a」という文字はアスキーコードで10進数で「97」、16進数で表すと「61」になります。

「a」「a」と書くとホームページ上にある文字は「a」と表記されます。

VBSの場合

(まだ自分ではしていないので詳細不明)

基本にできるVBS http://www.puni.ne.jp/~toumin/scripting/mailenc.html

追加する関数  Hex()   16進数に変換

Perlの場合

使った主な関数等

rand 乱数を発生させる
length 文字の長さを取り出す
substr 文字を取り出す substr($wk,0,1)で先頭から一文字を取り出す
ord   最初の文字をアスキーにする

文字の結合はドットでつなげる $ml_asc[$i] ="&#".$asc.";";
16進数で表示する $asc16 = sprintf("%lx", $asc);
ブラウザ上にそのまま表記するため「&」を「&amp」とする $wk =~ s/&/&/g;   

PHPの場合

実際に作ったもののソースはこちら