[C#] 檔案寫入UTF8 或UTF8 BOM - Harry 程式筆記
文章推薦指數: 80 %
一開始使用靜態函式Encoding.UTF8寫入txt檔時,產生檔案為UTF8 with BOM,為了輸出UTF8 without BOM做一下筆記。
UTF8 / UTF8 BOM. 產生UTF8 BOM Encoding ...
2020年8月16日星期日
[C#]檔案寫入UTF8或UTF8BOM
[C#]檔案寫入UTF8或UTF8BOM
[C#]檔案寫入UTF8或UTF8BOM
簡介
一開始使用靜態函式Encoding.UTF8寫入txt檔時,產生檔案為UTF8withBOM,為了輸出UTF8withoutBOM做一下筆記。
UTF8/UTF8BOM
產生UTF8BOM
Encodingutf8=newUTF8Encoding(true);
產生UTF8
Encodingutf8=newUTF8Encoding(false);
簡單實作
classProgram
{
staticvoidMain(string[]args)
{
stringutf8file="utf8file.txt";
if(File.Exists(utf8file))
{
File.Delete(utf8file);
}
using(FileStreamfileStream=newFileStream(utf8file,FileMode.Append,FileAccess.Write))
{
//CreateaUTF-8encoding.
using(StreamWritersw=newStreamWriter(fileStream,newUTF8Encoding(false)))
{
sw.WriteLine("Helloworld!(UTF8)");
}
}
stringutf8bomfile="utf8bomfile.txt";
if(File.Exists(utf8bomfile))
{
File.Delete(utf8bomfile);
}
using(FileStreamfileStream=newFileStream(utf8bomfile,FileMode.Append,FileAccess.Write))
{
//Encoding.UTF8同newUTF8Encoding(true)
//CreateaUTF-8encodingthatsupportsaBOM.
using(StreamWritersw=newStreamWriter(fileStream,newUTF8Encoding(true)))
{
sw.WriteLine("Helloworld!(UTF8Bom)");
}
}
}
}
產生結果:
比較
參考資料
UTF8EncodingClass
如有錯誤或建議,歡迎留言指教,謝謝!!
(相關內容如有侵犯隱私或著作權,請協助通知刪除,感謝)
以電子郵件傳送這篇文章BlogThis!分享至Twitter分享至Facebook分享到Pinterest
標籤:
C#
沒有留言:
張貼留言
較新的文章
較舊的文章
首頁
訂閱:
張貼留言(Atom)
關於我自己
HarryLin
檢視我的完整簡介
網頁
首頁
GitLab
GitLabSnippets
搜尋此網誌
標籤
.NetCore
(2)
Angular
(5)
Azure
(4)
C#
(9)
Docker
(4)
DockerCompose
(2)
Git
(3)
Googleanalytics
(1)
IIS
(2)
Markdown
(1)
MSSQL
(8)
Nodejs
(2)
Oracle
(1)
Redis
(1)
SQL
(9)
Tool
(3)
VisualStudio
(1)
網誌存檔
►
2021
(2)
►
4月
(2)
▼
2020
(8)
►
12月
(3)
▼
8月
(5)
[C#]檔案寫入UTF8或UTF8BOM
[Npm]設定ProxyServer
[Git]設定ProxyServer
[C#]西元年轉換為民國年
[Oracle]取得N~M筆資料或TopN資料
►
2019
(21)
►
10月
(2)
►
8月
(3)
►
5月
(4)
►
2月
(2)
►
1月
(10)
►
2018
(9)
►
12月
(9)
延伸文章資訊
- 1位元組順序記號 - 维基百科
位元組順序記號(英語:byte-order mark,BOM)是位於碼點 U+FEFF 的統一碼字符的名称。當以UTF-16或UTF-32來將UCS/統一碼字符所組成的字串編碼時,這個字符被用來...
- 2UTF8文件帶BOM引起的問題 - 台部落
UTF-8 不需要BOM,儘管Unicode 標準允許在UTF-8 中使用BOM。 所以不含BOM 的UTF-8 纔是標準形式,在UTF-8 文件中放置BOM 主要是微軟的習慣(順便提 ...
- 3「帶BOM 的UTF-8」和「無BOM 的UTF-8」有什麼區別
UTF-8不需要BOM來表明位元組順序,但可以用BOM來表明編碼方式。字元"ZERO WIDTH NO-BREAK SPACE"的UTF-8編碼是EF BB BF。所以如果接收者收到以EF BB...
- 4這些是什麼? BOM/UFT-8有簽章/withBOM/withoutBOM - iT 邦幫忙
這是另一篇關於BOM之亂的描述. Windows 作業系統不少程式(像是記事本),預設會對UTF-8 檔案加上BOM 而Linux 則避免妨礙到像是解譯器腳本而不加BOM,對於沒有預期要 ...
- 5「带BOM 的UTF-8」和「无BOM 的UTF-8」有什么区别?网页 ...
UTF-8 不需要BOM,尽管Unicode 标准允许在UTF-8 中使用BOM。 所以不含BOM 的UTF-8 才是标准形式,在UTF-8 文件中放置BOM 主要是微软的习惯(顺便提一下:把带...