Julia 将 UInt32 转换为 UInt8 向量

Zak*_*k21 0 julia

我有以下代码,我需要将几个 UInt32 变量转换为 UInt8 向量,然后将它们组合成一个 UInt8 向量。

目标是获取我从 Pcap 文件中解码的记录,并将其放入可以附加到现有 Pcap 文件末尾的格式。

下面的代码从前一个函数中获取输出,并返回 4 个 UInt 32 的十六进制输出和一个 UInt8 向量作为有效载荷。

function pcap_get_record(s::PcapOffline)
rec = PcapRec()
if (!eof(s.file))
    rec.ts_sec   = s.is_big ? read(s.file, UInt32) : ntoh(read(s.file, UInt32))
    rec.ts_usec  = s.is_big ? read(s.file, UInt32) : ntoh(read(s.file, UInt32))
    rec.incl_len = s.is_big ? read(s.file, UInt32) : ntoh(read(s.file, UInt32))
    rec.orig_len = s.is_big ? read(s.file, UInt32) : ntoh(read(s.file, UInt32))
    rec.payload  = read(s.file, rec.incl_len)
    return rec
end
nothing
end
Run Code Online (Sandbox Code Playgroud)

谢谢

张实唯*_*张实唯 5

这个给你

julia> reinterpret(UInt8, rand(UInt32, 1)) |> Vector
4-element Array{UInt8,1}:
 0x4d
 0x54
 0x34
 0xd3
Run Code Online (Sandbox Code Playgroud)

记得检查字节顺序。