Archive for 2009/4/20
現在、POP3のプロトコルをSocketクラスを使って読み込むサンプルを作成していたが、
ByteArrayに書き込んだデータを読もうとしても、常に0(ゼロ)になってしまい、はまってしまいました。
[AS]
var ba:ByteArray = new ByteArray();
ba.writeMultiByte(“abc”,”UTF-8″);
trace(“Length is ” + ba.length + “( ” + ba.bytesAvailable + “)”);
// 必ず Error #2030: End of file was encountered.のエラーが発生します。
try{
var ret1:String = ba.readUTF();
// 必ずエラーです
}
catch(err:Error){
trace(err.message);
}
// positonを0にしなければいけません
ba.position = 0;
trace(“Length is ” + ba.length + “( ” + ba.bytesAvailable + “)”);
try{
var ret2:String = ba.readUTFBytes(ba.bytesAvailable);
trace(ret2 + ” is abc”);
}
catch(err:Error){
}
[/AS]
positionを0に設定しなければいけないようです。
結構、ここに達するまでに時間がかかってしまいました。


