【问题标题】:as3 ByteArray to Hex (binary hex representation)as3 ByteArray to Hex(二进制十六进制表示)
【发布时间】: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


    【解决方案1】:

    看来我找到了解决方案!因为我做了一些挖掘并从 hurlant 实用程序类 Hex 中发现了这个函数。因为这似乎在做诀窍!将在进一步调查后报告..

    课程链接:https://code.google.com/p/as3crypto/source/browse/trunk/as3crypto/src/com/hurlant/util/Hex.as?r=4

    在导入类之后,我需要在上面进行更改:

    trace("hex= "+Hex.fromArray(event.data);
    

    这是实际的功能:

    public static function fromArray(array:ByteArray, colons:Boolean=false):String {
            var s:String = "";
            for (var i:uint=0;i<array.length;i++) {
                    s+=("0"+array[i].toString(16)).substr(-2,2);
                    if (colons) {
                            if (i<array.length-1) s+=":";
                    }
            }
            return s;
    }
    

    原始 UDP 数据包(删除所有填充):

    EFBEADDE275A89005E000000FA1DFB440000000000000000000000000000000002020105891B0E3A040000000000010011000000
    

    as3 字节数组转十六进制后收到 UDP 数据包:

    EFBEADDE655AF9025E000000FA1DFB4400000000000000000000000000000000020201058B1B4A3A040000000000010011000000
    

    (这些不是在确切时间捕获的完全相同的数据包,因此它们看起来会有些不同)。

    【讨论】:

      猜你喜欢
      • 2016-05-07
      • 1970-01-01
      • 2014-10-30
      • 1970-01-01
      • 2014-03-11
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      相关资源
      最近更新 更多