这是我所做的:
- 触摸文件.csv
- 在 Libreoffice 中打开此文件。
从网上粘贴了表格文本。- 以文本 csv 格式将其保存在 Libreoffice 中。
- 当我执行上述操作时,Libreoffice 会在文件开头插入 2 个奇怪的字符。
在谷歌搜索时我发现这些是 \0。
它们看起来是这样的:
cat file1.csv
��
我的问题是:如何防止 Libreoffice 插入这些字符?
注1:对于这个特定示例,我跳过了步骤3。
注 2:我这样做是为了从互联网上的表格数据创建 CSV 文件。我不希望在我的 CSV 中插入奇怪的字符。
答案1
在谷歌搜索时我发现这些是 \0。
这是一种错误的结论,因为谷歌无法知道这些字符实际上是什么,因为特殊字符在谷歌搜索中被标准化了。因此,结论可能是错误的。仅仅因为您的终端和/或文本编辑器无法显示字符并将其替换为其他字符并不意味着它是 0 字节。
好的,这只是猜测,因为你没有提供实际的文件,只是一个图片您的终端如何(错误)显示它。
但。
这两个角色可能是Unicode 16 位字节顺序标记 (BOM)字符,由于您指定了 unicode 文本编码,libreoffice 可能正确插入了这些字符。
这里的正确问题是为什么你的终端不能处理 unicode。获取更好的终端仿真器!
我如何防止 Libreoffice 插入这些字符?
两个选项:
- 完全不是;它们不会损害任何非 90 年代的软件,但会明确 CSV 的文本编码。Libreoffice 会自动将它们插入 Unicode,这是一件好事,也是恰当的做法。
- 如果你想承受需要的痛苦明确地必须对处理该 CSV 的所有应用程序使用相同的编码,使用非 Unicode 文本编码(当您保存为 CSV 时,LibreOffice Calc“导出文本文件”对话框错误地调用了“字符集”;它不是指定的字符集,而是这些字符被编码为位和字节的方式)。
我非常推荐选择选项 1。