如何在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
时,已成功编写...
答案 0 :(得分:3)
根据手册中的§19.1.3. External formats,看起来相应的符号实际上名为“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))
答案 1 :(得分:1)
请回退到ECL 15.2.21或使用git head - 这是15.3.7中引入的错误