Я почти уверен, что он будет неявно вызывать toString при добавлении его к строковому значению, к сожалению, toStrings, как правило, бесполезны.
Возможно, вам нужно просто пройтись по массиву и прочитатьданные, сделайте что-то вроде следующего:
byteData.position=0;
var tempString:String = byteData.readUTFBytes(byteData.bytesAvailable);
Alert.show(tempString);
для других опций для чтения данных из ByteArray см. ссылку здесь: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/ByteArray.html
Пожалуйста, подтвердите, что вы сбросили позицию байтамассив в 0, это, кажется, работает для меня (закодированный «тест», затем декодированный и показывает правильно во всплывающем окне, не уверен, что еще ожидается?):
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
minWidth="955"
minHeight="600">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.utils.Base64Decoder;
protected function button2_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
copyByteArray("dGVzdA==");
}
private function copyByteArray(content:String):void{
try{
var byteData:ByteArray = new ByteArray();
//byteData.writeUTFBytes(contents);
var dec:Base64Decoder = new Base64Decoder();
dec.decode(content);
byteData.writeBytes(dec.toByteArray());
byteData.position=0;
Alert.show("byte Array " + byteData.readUTFBytes(byteData.bytesAvailable)+" :: " +content.length + "::");
}
catch (ex: ErrorEvent){
Alert.show("error");
}
}
]]>
</mx:Script>
<mx:Button label="Test Byte Array" click="button2_clickHandler(event)"/>
</mx:Application>