關於編碼問題的若干總結

    做程序開發,亂碼問題應該是大家經常碰到的問題,最近本人看了很多資料,做了很多測試,故今日做個總結,既方便自己日後查看,也能幫助其他被此困惑的人。部分內容參考https://www.zhihu.com/question/20650946。
    1、編碼方案分類
大家一般比較常見的就是1、GB開頭的,包括GB2312、GBK、GB18030。GB即國標的簡稱,專門針對中文編碼,是目前比較流行的編碼方案之一,一個漢字佔兩個字節。2、Unicode,包括UTF8、UTF16(BE/LE)。UTF8也是目前國際使用最廣的編碼方案,英文字符用一個字節表示,中文字符用3個字符表示。而UTF16則是中英文字符都統一用兩個字節表示。很多軟件顯示的unicode編碼實際默認的是UTF16,ansi對於使用簡體中文的我們表示的實際上是GBK。至於很多軟件提示的帶BOM或者不帶BOM代表的是是否在文件的最前面保存一個指示編碼的標籤,這個標籤就是BOM。一般我們使用不帶BOM的。
2、可執行程序的編碼

可執行程序的編碼直接取決於你的編輯器,和你的編譯器無關。即如果你的編輯器使用的GB2312,那不管你的程序在哪編譯,最終可執行程序的編碼是GB2312的,因爲你提交給編譯器的漢字已經被編輯器轉換爲對應的二進制編碼了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章