【问题标题】:C++: File without BOM in RadStudioC++:RadStudio 中没有 BOM 的文件
【发布时间】:2013-05-29 09:09:30
【问题描述】:

我正在尝试在RadStudio XE3 中写入没有BOM 的文件。

我为此目的使用TStreamWriter Helper 类。问题是每次BOM 都写在file 的开头。我想避免这种情况。我已经尝试更改TEncoding,我尝试了几乎所有选项但没有成功。 Embarcadero 文档说,如果我用UTF7 编码BOM 编写文件将不会被写入文件(同样没有成功)。

我错了还是编译器问题?

【问题讨论】:

    标签: c++ byte-order-mark


    【解决方案1】:

    如果与TStreamWriter 一起使用的TEncoding 定义了一个BOM,TStreamWriter 将写入它。没有禁用该逻辑的选项。

    避免 BOM 的一种方法是从 TEncoding 派生一个新类,该类覆盖虚拟 GetPreamble() 方法以返回一个空字节数组,并覆盖其他方法以将工作委托给另一个 TEncoding

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-30
      • 2014-11-03
      • 2015-02-17
      • 2020-09-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-23
      相关资源
      最近更新 更多