編輯 編譯 亂碼 透徹 講解 keil vscode notepad++


1.

 

2.此時VSCODE內的改文件是亂碼現象,進行如下操作,選擇 通過編碼重新打開, 選擇GB 2312即可。(GB2312是兼容ANSI編碼的)

 

 

  詳細解釋一下:

KEIL內是ANSI編碼,VSCODE內選擇UTF-8編碼,顯示的英文都是OK的,都不會亂碼。這是因為英文字符都是兼容的。 ANSI 英文兼容 UTF8 英文兼容 GB2312.

但是對同一個中文文字,UTF8的編碼和GB2312的編碼就不是一樣的,所以中文就容易亂碼,因為對於中文的編碼有好幾套標准。

ps:計算機是不認識亂碼的,只認識二進制,和編碼以及和該編碼對應的解碼並顯示的算法《==編解碼統稱為編碼。 

進一步地說,我們在一個文件內敲上一大堆中文字的時候,計算機要保存啊,肯定要先問你按照什么編碼來保存了,所以你要選擇編碼的方式(對於一些流行的軟件notepad++ vscode,應該都是默認設置好了一種本軟件的中文編碼方式,用戶也可以按照喜好修改編碼方式) ps:“默認設置好了一種本軟件的中文編碼方式”這句話本身是不嚴謹的,應該改為:“默認置好了一種本軟件的編碼方式”,只說對中文的編碼方式是不全面的。因為:1.某種編碼方式一般就包括了對中文的編碼、對英文的編碼,或者對德語、法語等等的編碼。 2.中文的編碼方式都兼容英文,例如GBK向下兼容GB2312,GB2312則又向下兼容ANSI。而我這里是為了強調中文容易亂碼,(事實也是如此),所以才故意這樣講。

當你選擇好了編碼方式以后,等十天半個月后,你用U盤把這份文件拷貝到了另一台全新的電腦上的時候,當你用notepad++或VSCODE打開該軟件的時候,這時就分兩種情況了,一種是顯示亂碼,一種是不會顯示亂碼。

如果你之前用的是notepad++的默認編碼方式去編碼的這份文件,你現在又的是用notepad++來打開這份文件,那么你應該不會亂碼,notepad++會按照這款軟件的默認編解碼方式去解碼這份文件並顯示給你看。

如果你之前用的是VSCODE的默認編碼方式去編碼的這份文件,道理同上。

如果你之前用的是notepad++的默認編碼方式去保存的這份文件,現在用vscode就去打開這份文件呢?那么如果這倆軟件的默認編碼方式(我說的編碼方式可以理解為編解碼方式,概念等同)是一樣的,那么你應該不會亂碼。如果亂碼了,那么鑒於這些軟件都是可以根據用戶需求來選擇自己想要的編碼方式的,所以你在用vscode打開這份文件的時候要選擇下編碼方式,保證編碼方式和之前保存這份文件時的編碼方式一樣,這就肯定不會亂碼。

上面是你自己操作的情況,還有一種是人與人之間的情況:你在復制別人的文件的時候。 復制別人的文件,准備地說,復制別人對這些包含中文內容的文件,就是在復制以按照他們喜好的編碼方式編碼后的計算機內的二進制數據。所以你還是要知道別人當初的編碼方式,這樣你復制好了別人的文件的時候,你用vscode打開這份文件的時候,你可以選擇對應的編碼方式,這樣就不會亂碼了。

還有一種情況也類似,就是復制別人的文件中的內容,這個其實相當於你自己新建一個文件並朝里頭寫東西, 自己新建、編碼、保存的文件,要保證編解碼方式一樣,這樣就不會出現顯示亂碼,這點上文也已經強調過了(回到:這時就分兩種情況了,一種是顯示亂碼,一種是不會顯示亂碼)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM