如何设置Emacs`bindat-pack`数据

时间:2017-02-17 22:36:53

标签: emacs

似乎我无法让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)。

1 个答案:

答案 0 :(得分:2)

好的,我自己找到了一个解决方案。设置数据时不需要冒号。 emacs页面上的示例代码似乎是错误的,仍然不确定原因。

工作代码:

(require 'bindat)

(setq data-spec
   '((type      u8)
     (id        strz 8)))

(setq data (bindat-pack
        data-spec
        `((type . 2)
          (id . "Test"))))