File io 如何在elisp中从文件中读取字节
Elisp有很多函数用于操作编辑器中打开的缓冲区,但它似乎没有任何原始文件操作。也许我需要的是在那里,但我错过了 如何打开流并从中读取字节?常见的Lisp等价物是:File io 如何在elisp中从文件中读取字节,file-io,elisp,File Io,Elisp,Elisp有很多函数用于操作编辑器中打开的缓冲区,但它似乎没有任何原始文件操作。也许我需要的是在那里,但我错过了 如何打开流并从中读取字节?常见的Lisp等价物是: (defvar stream (open "example.txt" :element-type '(unsigned-byte 8))) (defvar byte (read-byte stream)) 你不能直接这么做。 您可以将文件读入缓冲区(使用insert file contents,它实际上也可以插入文件字节的子范围)
(defvar stream (open "example.txt" :element-type '(unsigned-byte 8)))
(defvar byte (read-byte stream))
你不能直接这么做。
您可以将文件读入缓冲区(使用
insert file contents
,它实际上也可以插入文件字节的子范围),或者创建一个在文件上运行cat
的进程。是否可以insert file contents
处理二进制数据?当然:这是Emacs在打开文件时使用的原语,Emacs当然可以编辑二进制文件。如果您不想依赖Emacs对编码系统的自动检测,您可以在调用插入文件内容
的同时,将读取编码系统
绑定到二进制
。