// ==============================================================
package com.nosword.string
{
import flash.utils.ByteArray;
public class UrlMultiEncode
{
// this is an encode class by http://www.nosword.com
public function UrlMultiEncode():void
{
}
public static function urlencodeGB2312(str:String):String{
var result:String ="";
var byte:ByteArray =new ByteArray();
byte.writeMultiByte(str,"gb2312");
for(var i:int;i<byte.length;i++){
result += escape(String.fromCharCode(byte[i]));
}
return result;
}
public static function urlencodeBIG5(str:String):String{
var result:String ="";
var byte:ByteArray =new ByteArray();
byte.writeMultiByte(str,"big5");
for(var i:int;i<byte.length;i++){
result += escape(String.fromCharCode(byte[i]));
}
return result;
}
public static function urlencodeGBK(str:String):String{
var result:String ="";
var byte:ByteArray =new ByteArray();
byte.writeMultiByte(str,"gbk");
for(var i:int;i<byte.length;i++){
result += escape(String.fromCharCode(byte[i]));
}
// trace(result);
return result;
}
}
}
// ==============================================================
/*
使用方法,从源代码那里可以看到是静态的函数调用,即:
import com.nosword.string.UrlMultiEncode;
...
..
trace(UrlMultiEncode.urlencodeGB2312("北京欢迎你"));
..
显示结果就是“%B1%B1%BE%A9%BB%B6%D3%AD%C4%E3”,用编码转换小工具解码对比,完全一致,支持不同编码格式的Urlencode终于成功了。
*/
转载于:https://my.oschina.net/u/263424/blog/633441