Vc2015 utf8 格式出錯

2021-07-10 12:28:29 字數 555 閱讀 6710

vc2015 utf8 格式出錯

(金慶的專欄)

用vc2015新建乙個專案,如下新增一行中文注釋。

然後將這個檔案改為utf8無bom格式,再轉換行結束符為unix格式。

#include "stdafx.h"

// 讀出錯測試

int main()

vc2015編譯就會出錯。

原因為中文注釋與下面的main()合併成了一行,main()被注釋掉了。

中間新增乙個空行就好了。

和注釋中文有關:

// 試

這樣的也會出錯。

// 出錯測試

不會出錯。

實際上是中文「吃」掉了後面緊跟的"\n"字元,如果是「\r\n」則仍有換行符'\n'.

另外還發現  /*競技場訊息*/ 會「吃」掉注釋結束符中的*號,報錯:

fatal error c1071: 在注釋中遇到意外的檔案結束

例如:int main()

所以為了不出錯,中文注釋可能應該前後加英文本元,如前面加空格,後面加『.』號。

例如:int main()

UTF8格式簡介

utf是unicode傳輸格式,有utf8,utf16,utf32等。這裡介紹utf8。utf8分成單位元組 雙位元組 三位元組 四位元組模式。具體如下 0 x 7bit 相容ascii碼 110 xx 10 11bit 1110 x 10 10 16bit 漢字所在 11110 10 10 10 ...

流式校驗UTF8格式

由於某個工程需要校驗資料是否是utf8格式的,然後翻了翻rfc,確實挺簡單的編碼格式,所以直接寫了,但是越寫越感覺不對,位元組不夠時真的需要cache嗎?想肯定還有非常簡單的方法,果不其然,找到了這篇 流式校驗 utf8 原始碼 static unsigned char types static u...

VS中無簽名UTF8和帶簽名UTF8格式

在vs中,使用高階儲存選項功能的時候,我們將會發現utf8有兩種格式,乙個是帶簽名的utf8,乙個是無簽名的utf8。那麼這兩種的格式有什麼區別呢?帶簽名的utf8 帶簽名的utf8,是在生成的檔案中,在檔案的開頭使用utf8標誌,這樣在下次使用編輯器編輯的時候,編輯器能準確的識別當前檔案的編碼格式...