我正在写一个定制的Wireshark Lua分解器。分解器中的一个字段是UTF16字符串。我尝试用
msg_f = ProtoField.string("mydissector.msg", "msg", base.UNICODE)
local getMsg = buffer(13) -- starting on byte 13
subtree:add_le(m.msg_f, getMsg)但是,这只会添加第一个字符,而不是整个字符串。它还会引发一个专家信息,警告未解码的尾随/偏离字符。
解析UTF16字符串的正确方法是什么?
发布于 2019-11-12 19:18:27
我想出的解决方案很简单:
msg_f = ProtoField.string("mydissector.msg", "msg")
local getMsg = buffer(13) -- starting on byte 13
local msg = getMsg:le_ustring()
subtree:add(msg_f, getMsg, msg)https://stackoverflow.com/questions/58770753
复制相似问题