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標誌,這樣在下次使用編輯器編輯的時候,編輯器能準確的識別當前檔案的編碼格式...