【发布时间】:2014-07-26 18:11:22
【问题描述】:
我希望有人可以在这里帮助我,我已经为此苦苦挣扎了几天。
我正在通过 AS3 UDP 数据报套接字接收一个二进制十六进制表示格式的 UDP 数据包(我认为它是 RAW UDP 数据)。
当我收到 as3 中的 UDP 数据包时,它是 ByteArray 格式,我需要将其转换回原始的十六进制格式。
它应该是这样的:
EF BE AD DE
22 5C 88 06
5E 00 00 00
7C 11 FB 44
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
02 02 01 05
91 EE FE F4
04 00 00 00
00 00 01 00
11 00 00 00
这是我在 flash 中的输出(它不需要相同的间距和换行符,只是相同的结构,从看起来它看起来像是删除了零?我不知道它为什么这样做):
十六进制= efbeaddea05b9515e0007d11fb440000000000000000221595ee76f54000001011000
这是我的 as3 函数:
public function hex(data:ByteArray){
var hex:String = "";
data.position = 0;
var len:uint = data.length;
for (var i:uint = 0; i < len; ++i){
var byte:uint = data.readUnsignedByte();
hex += byte.toString(16).substr(-2);
}
trace("hex= "+hex);
}
任何帮助将不胜感激!
【问题讨论】:
标签: actionscript-3 flash udp hex bytearray