[英]Write csv files with Byte Order Mark (BOM) using c++?
我正在嘗試使用c ++使用帶有BOM的UTF8創建一個csv文件。 誰能幫我,怎么做?
只需將BOM表放入字符串中並將其寫入文件(使用您使用的任何方法,例如流或經典cstdio):
const char *bom = "\xef\xbb\xbf"; // UTF-8
const char *bom_alt = {0xef, 0xbb, 0xbf, 0}; // the null termination is optional, depending on how you write it later on
然后,只需確保您實際上在編寫正確的UTF-8,並且沒有ANSI或寬字符字符串即可。 為此,我建議使用UTF8-CPP (已經在工作項目中使用了它,並且可以很好地工作,而不必使用Boost等大型庫)。
如果使用Qt庫,則可以使用QTextStream::setGenerateByteOrderMark(bool)
添加BOM。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.