国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Flash > 正文

Flash AS解決中文mp3亂碼

2020-07-17 13:17:22
字體:
來源:轉載
供稿:網友
Flash如果MP3的ID3標簽使用GB2312編碼,那么在Flash腳本輸出時是亂碼的
代碼1
var s:Sound=new Sound(this);
s.loadSound("dxh.mp3",false);
s.onID3=function(){
trace(this.id3.songname);
}
輸出結果是:
?&IExcl;???
dxh.mp3的ID3v1的標簽正確應該是songname="丁香花",看來FLASH在轉碼上出現了問題。我們來看看songname這個字符串中倒底是什么?
代碼2:
var s:Sound=new Sound(this);
s.loadSound("dxh.mp3",false);
s.onID3=function(){
var songname:String=this.id3.songname;
for(var i=0;i<songname.length;i ){
trace(songname.charCodeAt(i));
}
}
輸出結果是:
182
161
207
227
187
168
我們使用計算器轉換成16進制就是"B6 A1 CF E3 BB A8";
正好是"丁香花"的GB2312編碼,我們還是用FLASH來試試

System.useCodepage=true;
trace(unescape("丁香花"));
輸出結果是:
丁香花
那么為什么代碼1出現亂碼現象,是因為FLASH將GB2312當作了UTF-8來解釋,我們再來測試一下:
代碼3:

var s:Sound=new Sound(this);
s.loadSound("dxh.mp3",false);
s.onID3=function(){
var songname:String=this.id3.songname;
trace(escape(songname));
}
結果是:
?????¨
問題的原因我們找到了,只要將GB2312轉換成UTF-8編碼就能顯示正常了,可是如果轉換呢,大家注意看代碼2,我再測試一下想法
代碼4:

System.useCodepage=true;
var gb:String=unescape("丁香花");
System.useCodepage=false;
trace(gb);
trace(escape(gb));
輸出結果:
丁香花
主站蜘蛛池模板: 堆龙德庆县| 邳州市| 玉门市| 芜湖市| 江孜县| 兴文县| 久治县| 获嘉县| 永丰县| 保定市| 水富县| 孟州市| 营山县| 乐至县| 合水县| 礼泉县| 迁西县| 曲沃县| 南丰县| 来宾市| 金塔县| 四会市| 新源县| 松江区| 辽源市| 香港 | 大竹县| 钟祥市| 姜堰市| 玉田县| 叙永县| 闽清县| 苍山县| 环江| 平武县| 巴彦淖尔市| 西贡区| 静乐县| 天台县| 南平市| 北辰区|