我正在尝试在BOM
中编写没有RadStudio XE3
的文件。
我正在使用TStreamWriter
帮助程序类。问题是每次BOM
都会在file
的开头写入。TEncoding
。我想避免这种情况。我已经尝试过更改UTF7
,我尝试了几乎所有选项都没有成功。 Embarcadero文档说如果我用BOM
编码{{1}}编写文件将不会被写入文件(再次没有成功)。
我错了还是编译问题?
答案 0 :(得分:0)
如果与TEncoding
一起使用的TStreamWriter
定义了BOM,则TStreamWriter
会将其写入。没有选项可以禁用该逻辑。
避免BOM的一种方法是从TEncoding
派生一个新类,它覆盖虚拟GetPreamble()
方法以返回空字节数组,并覆盖其他方法将工作委托给另一个{ {1}}。