摘要:對象是由單個字節作為基本元素位,取值范圍組成的序列,為不可變對象。對于實例,如果需要還原成相應的字符串,則需要借助內置的解碼函數,借助相應的編碼格式解碼為正常字符串對象,如果采用錯誤的編碼格式解碼,則有可能發生錯誤
Bytes 對象是由單個字節作為基本元素(8位,取值范圍 0-255)組成的序列,為不可變對象。
Bytes 對象只負責以二進制字節序列的形式記錄所需記錄的對象,至于該對象到底表示什么(比如到底是什么字符)則由相應的編碼格式解碼所決定。我們可以通過調用 bytes() 類(沒錯,它是類,不是函數)生成 bytes 實例,其值形式為 b"xxxxx",其中 "xxxxx" 為一至多個轉義的十六進制字符串(單個 x 的形式為:xHH,其中 x 為小寫的十六進制轉義字符,HH 為二位十六進制數)組成的序列,每個十六進制數代表一個字節(八位二進制數,取值范圍 0-255),對于同一個字符串如果采用不同的編碼方式生成 bytes 對象,就會形成不同的值:
比如上例中的 a 字符串對象,其十進制 unicode 值為 24464,分別使用 "utf-8" 和 "gb2312" 兩種編碼格式將其轉換成 bytes 對象 b 和 c ,結果 b 和 c 的值是完全不同的,由于基于的編碼格式不一致, b c 長度甚至都不相同,前者有 3 個字節長度,后者有 2 個字節長度:
另外,對于 ASCII 字符串,可以直接使用 b"xxxx" 賦值創建 bytes 實例,但對于非 ASCII 編碼的字符則不能通過這種方式創建 bytes 實例:
由于 bytes 是序列,因此我們可以通過索引或切片訪問它的元素:
可以發現如果以單個索引的形式訪問元素,其會直接返回單個字節的十進制整數,而以序列片段的形式訪問時,則返回相應的十六進制字符序列。
對于 bytes 實例,如果需要還原成相應的字符串,則需要借助內置的解碼函數 decode(),借助相應的編碼格式解碼為正常字符串對象,如果采用錯誤的編碼格式解碼,則有可能發生錯誤:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37748.html
摘要:支持轉換為類型的,僅有,其他類型均不支持。如果中含有正負號數字和小數點以外的字符,則不支持轉換。轉換時,會自動添加虛數部分并以表示。轉換會直接完全轉換。轉換列表,會取每個字節的十進制值并組合成列表轉換為比較簡單。 int 支持轉換為 int 類型的,僅有 float、str、bytes,其他類型均不支持。 float -> int 會去掉小數點及后面的數值,僅保留整數部分。 int(-...
摘要:上一篇文章標準庫內置類型文本序列類型下一篇文章二進制序列類型操作二進制數據的核心內置類型是和。另請參見內置類型。存在一個反向轉換函數,可以將對象轉換為對應的十六進制表示。返回子序列在范圍內非重疊出現的次數。 上一篇文章:Python標準庫---12、內置類型:文本序列類型(str)下一篇文章: 二進制序列類型 --- bytes, bytearray, memoryview 操作二進制...
摘要:對于更高的維度,其長度等于表示的嵌套列表的長度。這是數組在連續表示時將會占用的空間總字節數。該值僅作為參考信息。新版功能一個表明內存是否為的布爾值。新版功能上一篇文章標準庫內置類型二進制序列類型下一篇文章標準庫內置類型集合類型映射類型 上一篇文章:Python標準庫---13、內置類型:二進制序列類型 ( bytes, bytearray)下一篇文章:Python標準庫---15、內置...
摘要:之痛原文地址譯者校正實用編程指南這是我在所做的演講。事實一和二共同造成了計算機設備結構與世界人類需求的一個沖突。就是為了解決之前的老的字符集問題。值意味著,失敗時將會返回一個標準的替代字符。將使用進行了解碼。 Unicode之痛原文地址: http://nedbatchelder.com/text...譯者: yudun1989 校正: sicklife實用Unicode編程指南這是...
摘要:上一篇文章標準庫內置類型邏輯值檢測布爾運算比較下一篇文章標準庫內置類型迭代器類型序列類型數字類型存在三種不同的數字類型整數浮點數和復數。標準庫包含附加的數字類型,如表示有理數的以及以用戶定制精度表示浮點數的。 上一篇文章:Python標準庫---9、內置類型:邏輯值檢測、布爾運算、比較下一篇文章:Python標準庫---11、內置類型:迭代器類型、序列類型 數字類型 --- int,...
閱讀 3233·2021-11-22 12:07
閱讀 1875·2021-10-12 10:11
閱讀 1041·2019-08-30 15:44
閱讀 2934·2019-08-30 12:45
閱讀 2183·2019-08-29 16:41
閱讀 1636·2019-08-29 16:35
閱讀 2620·2019-08-29 12:57
閱讀 1147·2019-08-26 13:51