flex中接收非utf-8编码的后台数据

把HTTPService改用URLStream,在complete时间里,用URLStream的readMultiByte方法,第二个参数指定文字编码类型,可以查看一下帮助文档,里面详细写出了支持的编码类型。
我只是在帮助文档里找到的,个人没试过。

///////////////////帮你写完
比说是urlStream的

var gb2312: String = urlStream. readMultiByte(urlStream.bytesAvailable, "gb2312"); //后面的是指定编码
这样的话,字符就正常了...

如果不是使用Stream的方式
比如返回是个字符串  str

var byteArray = new ByteArray();
byteArray.writeMultiByte(str, "gb2312");
byteArray.position = 0;
var newStr: String = byteArray. readMultiByte(byteArray. bytesAvailable, "gb2312");
这样也是可以的

还可以使用URLLoader,但要把URLLoader的dataFormat 改成URLLoaderDataFormat.BINARY
这样得到的是ByteArray...直接读都行...比如是byteArray
var newStr: String =  byteArray. readMultiByte(byteArray. bytesAvailable, "gb2312");
posted @ 2008-07-08 17:08  jacktu  阅读(2278)  评论(0编辑  收藏  举报