python utf-8,零基礎學python之文本和編碼問題

 2023-10-15 阅读 31 评论 0

摘要:字符串是個相當簡單的概念:一個字符串是一個字符序列。問題出在”字符”的定義上。 在2015 年,”字符”的最佳定義是Unicode字符。因此,從Python 3 的str對象中獲取 的元素是Unicode字符 Unicode 標準把字符的標識和具體的字節表述進行了如下的明確區分。 字符的標識&

字符串是個相當簡單的概念:一個字符串是一個字符序列。問題出在”字符”的定義上。

在2015 年,”字符”的最佳定義是Unicode字符。因此,從Python 3 的str對象中獲取 的元素是Unicode字符

Unicode 標準把字符的標識和具體的字節表述進行了如下的明確區分。

字符的標識,即碼位,是0~1 114 111的數字(十進制),在Unicode標準中以4~6個十六進制數字表示,而且加前綴U+。例如,字母A的碼位是U+0041,歐元符號的碼位是U+20AC,高音譜號的碼位是U+1D11E. 在Unicode 6.3標準中,約10% 的有效碼位有對應的字符。

python utf-8,字符的具體表述取決于所用的編碼。編碼是在碼位和字節序列之間轉換時使用的算法。在UTF-8編碼中,A(U+0041)的碼位編碼成單個字節\x41,而在UTF-16LE編碼中編碼成兩個字節\x41\x00。再舉個例子,歐元符號(U+20AC)在UTF-8編碼中是三個字節——\xe2\x82\xac,而在UTF-16LE中編碼成兩個字節:\xac\x20.

把碼位轉換成字節序列的過程是編碼,使用encode;把字節序列轉換成碼位的過程是解碼,使用decode.

非英語用戶常常會搞反所謂的編碼解碼,可以這樣理解: 把Unicode字符串想成“人類可讀”的文本.那么,

把字節序列變成人類可讀的文本字符串就是解碼

而把字符串變成用于存儲或傳輸的字節序列就是編碼

python處理文本文件、

所以,我們在做爬蟲的時候,遇到亂碼的情況,可以先去看看編碼格式是否正確!

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/146869.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息