Пишу кастомный диссектор 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)
Однако при этом добавляется только первый символ, а не вся строка. Он также вызывает предупреждение Expert Info о незакодированных конечных / случайных символах.
Как правильно анализировать строку UTF16?