如何在ECL上指定外部格式(例如(:crlf :|cp932|)
)?
我想用一些编码将字符串写入文件。所以我像这样输入我的 REPL:
(with-open-file (out "test.txt"
:direction :output
:external-format '(:crlf :|cp932|))
(write-string "some string" out))
然后调用调试器,它显示以下内容:
The function EXT:MAKE-ENCODING is undefined.
[Condition of type UNDEFINED-FUNCTION]
这是错误的方式...?当外部格式:utf-8
时,写得成功...
- ECL 版本 -- 15.3.7
- 操作系统 -- Ubuntu 14.04
基于 §19.1.3。手册中的外部格式,看起来适当的符号实际上被命名为"CP819",并且位于以"EXT"命名的包中,因此您将使用 ext:cp819,而不是 :|cp819|。 您可以使用 (:crlf ext:cp819),例如:
(with-open-file (out "test.txt"
:direction :output
:external-format '(:crlf ext:cp932))
(write-string "some string" out))
请回退到 ECL 15.2.21 或使用 git head - 这是 15.3.7 中引入的错误