> 2006/09/26 (火) 00:39:20 ◆ ▼ ◇ [qwerty]> > JavaScriptでいうcharCodeAtとfromCharCode相当の関数ってないかな(;´Д`)
> > JavaScriptで書かれた奴をperl移植しようとしてるんだけど
> 実はJavaScriptはよくしらないが
> バイナリに変換するならpackとunpack
> 但しマルチバイトには対応してないので自分で判別しないと駄目だね
妖精現実のあれをいじってみたんだがやっぱ簡単には出来ないな(;´Д`)違う文字列が出てくる
$enc = 'パス';
$plain = "";
$i = 0;
while( $i < length($enc) ) {
$c1 = unpack("H2",substr($enc,$i,1));
$c2 = unpack("H2",substr($enc,$i+1,1));
$Rnd = $c1 >> 4 & 0x3;
$Ch = $c1 & 0xF | ($c2 & 0xF) << 4;
$Ch <<= 8, $Ch >>= $Rnd;
$Ch = ($Ch & 0xFF) | (($Ch >> 8) & 0xFF);
$plain .= pack("H2",$Ch);
$i = $i + 2 + ($c1 % 2);
}
print $plain;
参考:2006/09/26(火)00時20分41秒