writeIntが32ビットの符号なし整数または符号付き整数をどのように処理するのか知りたいのですが。
16進数でどのように機能するかは簡単に理解できます。Util.Printは、対応するASCII文字を印刷します。
0x41424344は、4つの1バイト文字、A、B、C、およびDに分割されます。
整数がwriteIntに渡される場合は異なるようです。
例えば、
var test: ByteArray = new ByteArray();
test.writeInt(0x41424344); // prints ABCD
test.writeInt(2590463591); // prints gVg
test.writeInt(1119885898); // prints BÀJ
Util.Print関数がwriteIntによってByteArrayに書き込まれた整数をどのように処理するかがわかりません。
文字gVgは、整数2594063591に対応していません
ここでのwriteIntの定義によると:
32ビットの符号付き整数で動作すると記載されています。
誰かが整数を文字に変換する方法について詳しく説明できるとしたら、それは役に立ちます。
編集:そしてそれはどのように負の整数を処理しますか?
例えば、
test.writeInt(-11338743); // prints ÿRü
それで、
-11338743 = 0xFF52FC09
あれは正しいですか?
ありがとう。