Flash中播放mp3,其中id3.songname的编码问题
player.onID3 = function(){
trace(player.id3.songname);
}
出来的是乱码,我看到网上说的
class Decoder{
public function toUTF(source:String):String{
var target:String="";
for(var i=0;i<source.length;i++){
target+=this.codeTohex(source.charCodeAt(i));
}
System.useCodepage=true;
target=unescape(target);
System.useCodepage=false;
return target;
}
private function codeTohex(code:Number):String{
var low:Number=code%16;
var high:Number=(code-low)/16;
return "%"+hex(high)+hex(low);
}
private function hex(code:Number):String{
switch(code){
case 10:
return "A";
break;
case 11:
return "B";
break;
case 12:
return "C";
break;
case 13:
return "D";
break;
case 14:
return "E";
break;
case 15:
return "F";
break;
default:
return String(code);
break;
}
}
}
也解决不了问题,编码的原理不是很懂,希望有人能够帮我解决下,献上100分。
使用的是中文windows2003,flash professional 8.0