Utf8Plumber:阻止流将 UTF-8 字符切成两半并产生无效输入

时间:2024-07-02 09:24:20
【文件属性】:

文件名称:Utf8Plumber:阻止流将 UTF-8 字符切成两半并产生无效输入

文件大小:8KB

文件格式:ZIP

更新时间:2024-07-02 09:24:20

JavaScript

UTF-8 管道工 在通过某些第三方模块流式传输时,您是否曾在输出中遇到过一些奇怪的“问号”字符? 这可能是您的解决方案:通过管道工管道输入文件或请求流,以下流将不会收到切入一半的 UTF-8 字符。 问题 当使用csv 、 fast-csv或其他将流转换为其他字符串的模块时,这些模块中的大多数都不能很好地处理 UTF-8 输入。 如果流切割恰好位于 UTF-8 字符的两个字节之间,并且您使用的模块或流没有正确处理它(例如,仅使用chunk.toString()附加字符),则结果将是两个字符串中不可用的字节 - 这意味着您的输出中有问号。 解决方案 只需在这样的流之前通过管道输送 Utf8Plumber。 它将防止未完成的 UTF-8 字节泄漏到当前块中并在下一个块中提供它。 这是一个关于如何使用它的小例子(CSV 文件中的第一列大写): var fs = require('fs'


【文件预览】:
Utf8Plumber-master
----.gitignore(88B)
----README.md(1KB)
----test()
--------Utf8PlumberSpec.js(6KB)
--------testfile.csv(81KB)
--------testfile.out(81KB)
--------Utf8PlumberHelperSpec.js(3KB)
----LICENSE(1KB)
----package.json(487B)
----src()
--------Utf8Plumber.js(3KB)
--------Utf8PlumberHelper.js(2KB)
----index.js(57B)

网友评论