ActionScript';什么是整数?
我想知道writeInt如何处理传递给它的32位无符号或有符号整数 很容易理解它是如何使用十六进制数的。Util.Print将打印相应的ASCII字符 0x41424344将被分解为4个1字节字符,A、B、C和D 当一个整数被传递给writeInt时,它似乎是不同的 比如说,ActionScript';什么是整数?,actionscript,bytearray,Actionscript,Bytearray,我想知道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); //
var test: ByteArray = new ByteArray();
test.writeInt(0x41424344); // prints ABCD
test.writeInt(2590463591); // prints gVg
test.writeInt(1119885898); // prints BÀJ
test.writeInt(-11338743); // prints ÿRü
我不清楚Util.Print函数如何处理writeInt写入ByteArray的整数
字符gVg与整数2590463591不对应
根据此处writeInt的定义:
它声明它与32位有符号整数一起工作
如果有人能详细说明它是如何将整数转换成字符的,那将是很有帮助的
编辑:它如何处理负整数
比如说,
var test: ByteArray = new ByteArray();
test.writeInt(0x41424344); // prints ABCD
test.writeInt(2590463591); // prints gVg
test.writeInt(1119885898); // prints BÀJ
test.writeInt(-11338743); // prints ÿRü
所以
对吗
谢谢。如果您将编码字节解释为ASCII码
dec hex ascii
1094861636 = 0x41424344 = ABCD
2590463591 = 0x9A675667 = gVg
1119885898 = 0x42C01A4A = BÀJ
另外,请注意,int与unsigned int将实现不同的函数:
var test:ByteArray = new ByteArray();
test.writeInt(0x41424344);
test.writeUnsignedInt(0x41424344);
如果将编码字节解释为ASCII
dec hex ascii
1094861636 = 0x41424344 = ABCD
2590463591 = 0x9A675667 = gVg
1119885898 = 0x42C01A4A = BÀJ
另外,请注意,int与unsigned int将实现不同的函数:
var test:ByteArray = new ByteArray();
test.writeInt(0x41424344);
test.writeUnsignedInt(0x41424344);
谢谢因此,它将整数转换为对应的十六进制等效值,并在打印之前将其分解为单个字节。谢谢。因此,它将整数转换为对应的十六进制等效值,并在打印之前将其分解为单个字节。