【发布时间】:2013-12-05 19:49:07
【问题描述】:
如何使用 C 将字节顺序标记 (BOM) 添加到输出文件?
我的输出文件是 ANSI as UTF-8(这意味着 UTF-8 没有 BOM)
但我需要它是带有 BOM 的 UTF-8
我该怎么做?
【问题讨论】:
-
在 UTF-8 数据之前写入 BOM。 (实际上是两个额外的字节)。
-
@Whoz 嗯,是三个
-
@user 也许你可以告诉我们你发现了什么困难。你知道如何写入文件吗?您是否尝试过编写 BOM?
-
没有 ANSI 作为 UTF-8。 ANSI是一个研究所,UTF-8是一个char编码。
-
应该注意的是,在 UTF8 文件上使用 BOM 是多余的(或者可能是“善意的误用”)。 BOM 的目的是指示 16 位及更多位 Unicode 文件中的字节顺序。 UTF8 文件不会受到字节顺序问题的影响(...),但 do 会受到“我如何将编码识别为 UTF8”的影响。 (根据utf-8.com,它是 XML 的默认编码;其他文件可能在 DOCTYPE 定义中有它们的编码。
标签: c utf-8 file-handling byte-order-mark