把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");
我只是在幫助文件裡找到的,個人沒試過。
///////////////////幫你寫完
比說是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");