ByteArrayのnullバイトの重要性を理解しようとしています。彼らはターミネーターのように行動しますか?つまり、一度nullバイトが書き込まれると、ByteArrayに書き込むことはできませんか?例えばActionScript 3.0 - ByteArrayのNullバイト
、
import flash.utils.*;
public class print3r{
public function print3r{
Util.print(nullout());
}
public function nullout:ByteArray(){
var bytes:ByteArray = new ByteArray();
bytes.writeInt(((403705888 + 1) - 1)); // Non Printable Characters
bytes.writeInt(((403705872 - 1) + 1)); // Non Printable Characters
bytes.writeInt(0x18101000); // Notice the NullByte in this DWORD
bytes.writeInt(0x41424344); // ASCII Characters ABCD
return bytes;
}
}
new print3r;
これは空白の出力が得られます。
ここで、0x18101000というDWORDを0x18101010に置き換えた場合、今回はASCIIパディングのABCDが出力に表示されます。
私の質問は、nullバイトを超えてByteArray()に書き込むことは可能ですか?
ActionScriptコードでは、nullバイトが書き込まれた後でも、多くのwriteIntおよびwriteByte操作がByteArrayで実行されるため、私が尋ねる理由があります。
ありがとうございました。
ありがとうございます。あなたが提案したものを試し、ByteArrayから読み込むために用意されているさまざまな関数を調べます。 1つの質問、私は使用しています:http://eval.hurlant。com/demo /を使ってActionScriptを練習しましょう。 trace()をサポートしていませんか?私はその中でtrace()を使って出力を見ることができないからです。 –
実際は考えていません。私は、実世界のツールを使って練習するほうがよいと思います。 [Flex SDK](http://www.adobe.com/devnet/flex/flex-sdk-download.html)は無料(コンパイラ+ツール一式)、[Flash Develop](http://www.flashdevelop .org /)も無料です(IDE、Flex SDKを使用してActionScriptをコンパイルする)。 –
ありがとうございます。私はそれらをチェックアウトします。 –