思路:
UTF8 : 一个汉字三个字节
GB2312 : 一个汉字两个字节
定义一个字符串, 将字符串以GB2312字符集写入字节数组, 然后根据URL编码规则进行转换
CODE:
public static function encode(data:String):String
{
var byteArray:ByteArray = new ByteArray(); // ByteArray
byteArray.writeMultiByte(data, 'GB2312');
var result:String = '';
var l:int = byteArray.length;
for(var i:int = 0; i < l; i++)
{
var ascii:Number = byteArray[i]; // ASCII
var char:String = '%' + ascii.toString(16).toUpperCase();
result += char;
}
return result;
}
TEST :
trace(URLEncoder.encode('你好编码测试'));
R : %C4%E3%BA%C3%B1%E0%C2%EB%B2%E2%CA%D4
baidu : %C4%E3%BA%C3%B1%E0%C2%EB%B2%E2%CA%D4