flex中接收非utf-8編碼的後臺資料

weixin_34304013發表於2008-07-08
把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");

相關文章