Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File io 如何在elisp中从文件中读取字节_File Io_Elisp - Fatal编程技术网

File io 如何在elisp中从文件中读取字节

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,它实际上也可以插入文件字节的子范围)

Elisp有很多函数用于操作编辑器中打开的缓冲区,但它似乎没有任何原始文件操作。也许我需要的是在那里,但我错过了

如何打开流并从中读取字节?常见的Lisp等价物是:

(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对编码系统的自动检测,您可以在调用
插入文件内容
的同时,将
读取编码系统
绑定到
二进制