C#儲存檔案為無BOM的utf8格式

來源:互聯網
上載者:User

標籤:bsp   body   bubuko   編碼   str   file   使用   相同   oar   

,發現用C#的 File.WriteAllLines 方法,無論怎麼設定,最終產生的檔案都是 PC utf8,也就是CRLF,用SVN進行提交的時候,顯示左側為utf8,右側為utf8 BOM檔案,甚是蛋疼。

 

最後的解決方案:

File.WriteAllText(strLuaFilePath, string.Join("\n", fileContentList.ToArray()), new System.Text.UTF8Encoding(false));

 

稍微普及一下常見的檔案編碼格式,以utf8、BOM為例

 

BOM 在檔案頭三位插入了“EF BB BF“

同樣是Utf8,在Windows、Unix、Mac下卻並不相同(斷行符號CR ASCII碼 13 — \r,換行 LF ASCII碼 10 — \n,所以 CRLF — \0xD \0xA)。

平台

行尾結束符

Windows

CRLF —— \0xD \0xA,使用 斷行符號 + 換行

Unix

LF —— \0xA,表示句尾,只使用換行

Mac

CR —— \0xD,只使用斷行符號

 

CR —— Carriage-Return 斷行符號(ASCII 13 \r)

LF —— Line-Feed 換行(ASCII 10 \n)

 

Visual Studio好像預設就是帶BOM的,通常我們約定提交的*.cs檔案全部是無BOM的utf8檔案。

C#儲存檔案為無BOM的utf8格式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.