Python 數據類型--Bytes類型

一、Bytes類型

在Python3以后,字符串和bytes類型徹底分開了。字符串是以字符為單位進行處理的,bytes類型是以字節為單位處理的。

bytes數據類型在所有的操作和使用甚至內置方法上和字符串數據類型基本一樣,也是不可變的序列對象。

bytes對象只負責以二進制字節序列的形式記錄所需記錄的對象,至于該對象到底表示什么(比如到底是什么字符)則由相應的編碼格式解碼所決定。Python3中,bytes通常用于網絡數據傳輸、二進制圖片和文件的保存等等。可以通過調用bytes()生成bytes實例,其值形式為 b'xxxxx',其中 'xxxxx' 為一至多個轉義的十六進制字符串(單個 x 的形式為:\x12,其中\x為小寫的十六進制轉義字符,12為二位十六進制數)組成的序列,每個十六進制數代表一個字節(八位二進制數,取值范圍0-255),對于同一個字符串如果采用不同的編碼方式生成bytes對象,就會形成不同的值.

復制代碼
b = b''         # 創建一個空的bytes
b = byte()      # 創建一個空的bytes
b = b'hello'    #  直接指定這個hello是bytes類型
b = bytes('string',encoding='編碼類型')  #利用內置bytes方法,將字符串轉換為指定編碼的bytes
b = str.encode('編碼類型')   # 利用字符串的encode方法編碼成bytes,默認為utf-8類型bytes.decode('編碼類型'):將bytes對象解碼成字符串,默認使用utf-8進行解碼。
復制代碼

對于bytes,我們只要知道在Python3中某些場合下強制使用,以及它和字符串類型之間的互相轉換,其它的基本照抄字符串。

二、Bytes類型轉換

1.Bytes與字符串的相互轉換

string = b'xxxxxx'.decode()?直接以默認的utf-8編碼解碼bytes成string

b = string.encode()?直接以默認的utf-8編碼string為bytes

2.Bytes轉換為字典類型

Bytes本身是一個字典形式存儲的數據,要想把這種存儲形式的數據轉換為字典類型

1)將Bytes 轉換為 Strig

c=b.decode()

2)將String轉換為字典

info=eval(c)

3.eval函數

eval函數就是實現list、dict、tuple與str之間的轉化
str函數把list,dict,tuple轉為為字符串
# 字符串轉換成列表
a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
print(type(a))
b = eval(a)
print(b)

# 字符串轉換成字典
a = "{1: 'a', 2: 'b'}"
print(type(a))
b = eval(a)
print(type(b))
print(b)

# 字符串轉換成元組
a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
print(type(a))
b=eval(a)
print(type(b))
print(b)

?

?

?

?

?

參考博客

python--數據類型bytes

Python中eval函數的作用

轉載于:https://www.cnblogs.com/xibuhaohao/p/10108823.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450004.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450004.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450004.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android應用開發-onNewIntent()

轉載自Android中 activity 的onNewIntent函數

文件結構

C語言文件名命名的規則 1、文件標識符分為兩部分,即文件名前綴和后綴。文件名前綴的最前面要使用范圍限定符——模塊名(文件名)縮寫。 2、采用小寫字母命名文件,避免使用一些比較通俗的文件名,如:publi…

POJ 1187 隕石的秘密 (線性DP)

題意: 公元11380年,一顆巨大的隕石墜落在南極。于是,災難降臨了,地球上出現了一系列反常的現象。當人們焦急萬分的時候,一支中國科學家組成的南極考察隊趕到了出事地點。經過一番偵察,科學家們發現隕石上刻…

bzoj2561 最小生成樹

題意:給你無向圖,給定一條邊,求至少在原圖中刪去多少邊才能使它同時在某個最大生成樹和某個最小生成樹中。 解: 假裝我們把邊排序了,然后把所有邊權小于給定邊的邊都加進去了。 那么我們要刪的就是s到t的一個割。 最大…

Android應用開發—onSaveInstanceState方法什么時候被調用?

轉載自onSaveInstanceState方法什么時候被調用?(轉載/整理) 在 Activity 被銷毀之前被調用來保存每個實例的狀態,這樣就可以保證該狀態能夠從 onCreate(Bundle) 或者onRestoreInstanceState(Bundle)恢復過來。 本方法在 Activity 可能被銷毀…

記一次phpstudy重啟后Apache無法啟動

相信大家都碰到過phpstudy中Apache無法啟動的情況1、首先檢查80端口是否占用,有的話就管理2、檢查是否缺少vc9運行文件如果上述兩種方法還不能解決問題就進入安裝目錄中Apache的bin目錄下,在命令行窗口中執行httpd.exe,看看是否報錯。我就是在…

C#任務調度——LimitedConcurrencyLevelTaskScheduler

這是參考大佬分享的代碼寫的有問題請提出指正,謝謝。using Serilog; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks;namespace TaskManager {class TaskFactoryMa…

同步本地遠程分支 git remote prune origin

git remote prune origin (不常用總忘記,記錄下)

264 參考幀 list0 list1

作了這么久的h264工作,這部分還一直從未去深入了解過,真是不求甚解啊,那幫老外的代碼也寫得太全了,該部分至今天才開始研究 首先參考幀這里關注的是兩種,p ,b ,前向參考和后向參考 由白皮書中看到,p幀的參…

面試官問我:什么是JavaScript閉包,我該如何回答

閉包,有人說它是一種設計理念,有人說所有的函數都是閉包。到底什么是閉包?這個問題在面試是時候經常都會被問,很多小白一聽就懵逼了,不知道如何回答好。這個問題也有很多朋友在公眾號給李老師留言了,問題表…

robotframework基礎學習(8)

變量的使用 在 Edit 標簽頁中主要分:加載外部文件、定義內部變量、定義元數據等三個部分。 (1):加載外部文件Add Library:加載測試庫,主要是[PYTHON 目錄]\Lib\site-packages 里的測試庫 Add Resource&…

版本字符串比較工具接口常用接口函數

版本升級比較常用的接口,字符串解析,不是很難,但沒必須重復造輪子,保存一份網上搜到的實現: /*** 比較版本號的大小,前者大則返回一個正數,后者大返回一個負數,相等則返回0** param version1* param version2* return…

[藍橋杯]ALGO-188.算法訓練_P0504

Anagrams指的是具有如下特性的兩個單詞:在這兩個單詞當中,每一個英文字母(不區分大小寫)所出現的次數都是相同的。例如,Unclear和Nuclear、Rimon和MinOR都是Anagrams。編寫一個程序,輸入兩個單詞&#xff0…

什么是3-2混合

正如上面所述,電影轉換成視頻時,每秒24幀必須轉成每秒60場(30幀)。實現這一點的方法是把電影的第一幀顯示3場,然后把第二幀顯示2場,再把第三幀顯示3場,以此類推。這個3-2-3-2-3-2的順序就被稱為…

shell 的here document 用法、輸入/輸出重定向

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 什么是Here Document Here Document 是在Linux Shell 中的一種特殊的重定向方式&#xff0c;它的基本的形式如下 cmd << delimiter…

beta第二天

團隊成員 鄭西坤 031602542 &#xff08;隊長&#xff09; 陳俊杰 031602504陳順興 031602505張勝男 031602540廖鈺萍 031602323雷光游 031602319吳志鴻 0316206341.昨天的困難 陳順興&#xff1a;無 廖鈺萍&#xff1a;無 吳志鴻&#xff1a;沒有 雷光游&#xff1a;無 鄭西坤…

void和void *

void f(void) { // 參數void可以省略cout << "aa"<<endl; } int t 22; int *a &t; void *p; // void *可以被賦值為其他類型 p a; cout << *(int *)p; // 使用的時候必須轉到那個類型 轉載于:https://www.cnblogs.com/pjishu/p/10343587.…

Android應用開發—Application

What is Application Application和Activity&#xff0c;Service一樣是android框架的一個系統組件&#xff0c;當android程序啟動時系統會創建一個application對象&#xff0c;用來存儲系統的一些信息。通常我們是不需要指定一個Application的&#xff0c;這時系統會自動幫我們…

C語言符號

C語言運算符的優先級 一、運算符的優先級表 C 語言的符號眾多&#xff0c;由這些符號又組合成了各種各樣的運算符。既然是運算符就一定有其特定的優先級&#xff0c;下表就是C 語言運算符的優先級表&#xff1a; 注&#xff1a;同一優先級的運算符&#xff0c;運算次序由結合…

手機按鍵中控運行思路的個人理解

目前而言基本的自己理解的中控多線程腳本無非就是兩種1.主代碼作為腳本功能的載體 另外開辟一個線程作為和中控保持聯系的部分(下面只是思路 無法直接運行)Import "zm.luae" zm.Init /* 該思路下的基本流程 從UI界面獲取到云賬號 和 本地的配置信息---->根據自己…