読者です 読者をやめる 読者になる 読者になる

まさかとは思ったが、URLLoaderの仕様だったらしく、Responseの中身を書き換えていた

ActionScript AIR

HTTPのリクエストを出して、その時に

{"message":"\u30ed\u30b0\u30a4\u30f3\u3057\u307e\u3057\u305f","status":"succeed"}

を出していたとすると、URLLoaderが
\(バックスラッシュ)を勝手に
[34]から[194,165]のコードに書き換えてしまうらしいです。
ちょっと表現があやしいので、コードを見ていただくと、

urlLoader.addEventListener(Event.COMPLETE,function(event:Event):void{
	var body:String=(event.target as URLLoader).data;
	var resultArray:Array=JSON.decode(body).parts;
	partList.source=new Array();
	for each(var item:Object in resultArray){
		partList.source.push(item.part.name);
	}					
});

こんなActionListenerでJSONを読んでいるのですが、
URLLoaderから.dataをしているタイミングなのかどこなのか
わからないのですが、\が原型から2バイトコード
変わっています。ですので、

urlLoader.addEventListener(Event.COMPLETE,function(event:Event):void{
	var body:String=(event.target as URLLoader).data;
	var body2:String=body.replace(new RegExp(/\/g),"\\");
	var resultArray:Array=JSON.decode(body2).parts;
	partList.source=new Array();
	for each(var item:Object in resultArray){
		partList.source.push(item.part.name);
	}					
});

こんな酷いコードを書くと、日本語に変換されました。
デバッグに時間がかかりましたね。
それで、原因はおそらくURLLoaderで
dataFormatをTEXTにしていると変換されるんでしょうね。
よけいな事をしれくれるものです。
BINARYにして、再挑戦してみます。