似乎我无法让bindat-pack
正常工作。它的功能是将数据打包成二进制形式:
https://www.gnu.org/software/emacs/manual/html_node/elisp/Bindat-Examples.html
我有以下示例代码:
(require 'bindat)
(setq data-spec
'((type u8)
(id strz 8)))
(setq data (bindat-pack
data-spec
`((:type . 2)
(:id . "Test"))))
data
现在应该像data-spec
描述的那样正确打包,但它只是一个用零填充的空字符串(\x00
)。
是否有人知道我在这里做错了什么?
我在Windows 10上使用Emacs 25.1.1(x86_64-w64-mingw32)。
答案 0 :(得分:2)
好的,我自己找到了一个解决方案。设置数据时不需要冒号。 emacs页面上的示例代码似乎是错误的,仍然不确定原因。
工作代码:
(require 'bindat)
(setq data-spec
'((type u8)
(id strz 8)))
(setq data (bindat-pack
data-spec
`((type . 2)
(id . "Test"))))