原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处
Base64是网络上最常见的用于字节代码的编码方式之一(一个字母就是一字节byte)
采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
Base64编码非常适合HTTP环境下传递较长的标识信息(传输8Bit字节代码)
其他应用程序中,也常常需要把二进制数据编码为适合放在URL中的形式
迅雷地址的编码
“迅雷专用地址”就是用Base64”加密”的,其过程如下:
1、在http://地址的前后分别添加AA和ZZ
2、对新的字符串进行Base64编码,把迅雷地址还原为http地址,只需要用Base64解码,然后去掉头尾的AA和ZZ即可。
QQ旋风地址的编码
更简单,不加任何字符,直接就对地址进行Base64编码了
此代码在php环境,可直接运行。
<?php
$txt1=trim($_POST['text1']);
$txt3=trim($_POST['text3']);
$button=$_POST['button'];
?>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<html>
<head>
<title>迅雷和FlashGet,QQ旋风地址地址转换工具</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<meta content="迅雷,FlashGet,地址转换," name="keywords">
</head>
<body>
<form name="form1"method="post"action="">
<hr size="1">
<h3>迅雷转换</h3>
<P>
转换地址: <input name="text1" value="<?php echo$txt1; ?>" type="text" style="width:516px;"/>
</P>
<P>转换后的: <input type="text"value="
<?php
if($button=="普通地址->迅雷地址") echo "thunder://".base64_encode("AA".$txt1."ZZ");
if($button=="迅雷地址->普通地址") echo substr(base64_decode(str_ireplace("thunder://","",$txt1)),2,-2);
?>
"style="width:516px;"/>
</P>
<P>
<input type="submit" name="button" value="普通地址->迅雷地址" />
<input type="submit" name="button" value="迅雷地址->普通地址" />
</P>
<h3>QQ旋风转换</h3>
<P>
QQ旋风地址: <input name="text3" value="<?php echo $txt3; ?> " type="text" style="width:516px;"/>
</P>
<P>转换后地址: <input type="text"value="
<?php
if($button=="普通地址->QQ旋风") echo"qqdl://".base64_encode($txt3);
if($button=="QQ旋风->普通地址")echo base64_decode(str_ireplace("qqdl://","",$txt3));
?>
"style="width:516px;"/>
</P>
<P>
<input type="submit" value="普通地址->QQ旋风" name="button" />
<input type="submit" value="QQ旋风->普通地址" name="button"/>
</P>
</form>
</body>
</html>
下列代码仅在GBK中实现
UTF8代码,请把if($button=="迅雷地址->普通地址") echo substr( base64_decode(str_ireplace("thunder://","",$txt1)),2,-2);
这句改为
if($button=="迅雷地址->普通地址") echo substr( mb_convert_encoding( base64_decode(str_ireplace("thunder://","",$txt1)) ) ,2,-2);
把charset=gb2312改为charset=utf-8