我想知道 writeInt 如何处理传递给它的 32 位无符号或有符号整数?
很容易理解它是如何与十六进制数一起工作的。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 不对应整数 2590463591
根据这里 writeInt 的定义:
它声明它适用于 32 位有符号整数。
如果有人可以详细说明它将整数转换为字符的方式,那将会很有帮助。
编辑:它如何处理负整数?
例如,
test.writeInt(-11338743); // prints ÿRü
所以,
-11338743 = 0xFF52FC09
那是对的吗?
谢谢。