字符集(charset)
代碼點(code point)
以ASCII爲例,它爲每一個字符分配一個數字序號,比如A的編碼點是65,所有代碼點的集合就叫字符集
字符編碼(char encoding)
字符編碼是代碼點的二進制存儲格式。一個字符集會有多種存儲格式,比如UNICODE有UTF-8、UCS-16、UCS-32
UTF-8:網絡傳輸和本地存儲
UCS-16:內存存儲
UCS-32:
VIM涉及到編碼的設置
fileencoding
存放在磁盤上的文件文件本身的編碼格式
encoding
VIM本身運行時的菜單、標籤、緩衝區等的編碼格式
termencoding
各種終端配置的編碼格式,同一時刻只能使用一種編碼格式,並按照格式從收到的二進制字節流中解碼出字符
解決VIM亂碼的最佳配置
echo 'set fileencoding=utf-8
set encoding=utif-8
set termencoding=utf-8,gbk,latin1' >> ~/.vimrc