1. 程式人生 > >Python:Unicode和UTF-8之間的關係

Python:Unicode和UTF-8之間的關係

一、Unicode和UTF-8

參考網址:https://blog.csdn.net/xiaolei1021/article/details/52093706/

例項:

開啟"記事本"程式Notepad.exe,新建一個文字檔案,內容就是一個"嚴"字,依次採用ANSI,Unicode,Unicode big endian 和 UTF-8編碼方式儲存。

然後,用文字編輯軟體UltraEdit中的"十六進位制功能",觀察該檔案的內部編碼方式。

1)ANSI:檔案的編碼就是兩個位元組"D1 CF",這正是"嚴"的GB2312編碼,這也暗示GB2312是採用大頭方式儲存的。

2)Unicode:編碼是四個位元組"FF FE 25 4E",其中"FF FE"表明是小頭方式儲存,真正的編碼是4E25。

3)Unicode big endian:編碼是四個位元組"FE FF 4E 25",其中"FE FF"表明是大頭方式儲存。

4)UTF-8:編碼是六個位元組"EF BB BF E4 B8 A5",前三個位元組"EF BB BF"表示這是UTF-8編碼,後三個"E4B8A5"就是"嚴"的具體編碼,它的儲存順序與編碼順序是一致的。

二、python3中的UNICODE 與 UTF-8的簡單關係

python3直譯器中自帶UTF-8編碼器,python2中不自帶,所以需要手動設定: #coding:utf-8

一般程式猿們開始碼字的時候,習慣了新建PHP或者html檔案都是先新建一個txt文件然後改名字和字尾,但是windows預設新建文件為ANSI編碼的,這個讓我很惆悵,每次都需要我們自己手動轉碼。

參考網址:https://blog.csdn.net/Thoms_/article/details/81482487