如何在 Common Lisp 中创建二进制流(而不是文件)?
我有一个将一些二进制数据输出到流的函数。但流是抽象的,这意味着流可以是文件流,也可以是其他流。但该流必须是支持写字节功能的二进制流。我搜索过但没有找到答案。
我想做的是,我有一个函数可以将一些数据转换为 gif。但我不想将数据输出到文件中,我想将其输出到内存中的某个东西。
谢谢。
I have a function which output some binary data to a stream. But the stream is abstract, which means the stream can be a file stream, or some other streams. But the stream must be a binary stream which support write-byte function. I searched but not found the answer.
What I want to do is, I have a function which will convert some data to a gif. But I donot want to output the data to a file, I want to output it to something in memory.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
flexi-streams 库提供内存中二进制流等功能。
The flexi-streams library provides, among other things, in-memory binary streams.
“内存中的文件” - 只是一个字节数组。因此,您所需要做的就是从流中读取数据并将其写入一维数组(向量)。有关 CL 中数组的更多信息,请参阅此。
"File in memory" - is just a byte array. So all you need is to read your data from stream and write it to one-dimensional array (vector). For more information on arrays in CL see this.