pythonstrbytes
① python3里的bytes和str還有int有什麼區別
一、python3的基本數據類型就下面9大類,沒有bytes,只有在文件讀取的時候有個b模式,就是二進制讀取模式,所以不明白bytes為何跟str和int並列。
1、字元串 2、布爾類型 3、整數 4、浮點數 5、數字 6、列表 7、元組 8、字典 9、日期
其中字元串就是str,整數就是int,python中沒有字元這個類型,整體都是字元串。
二、int轉字元串簡單,只需要加上str()就行了,比如
a=100
print("a值是 %s" % a)
字元串沒有轉成int的,但是單個字元可以轉換成對應的ASCII碼,方法是ord(),逆方法是chr(),比如:
b = "a"
c = 97
print("b對應的ASCII碼是%d" % ord(b))
#結果是:b對應的ASCII碼是97
print("c對應的字元是%s" % chr(c))
#結果是:c對應的字元是a
② python3轉成bytes其中bytes()與encode()有什麼區別
就將str類型轉換為Bytes類型這一過程的實質而言,沒有區別.
硬要講區別,大概就是語法上的區別了,一個是函數,一個是方法.
需要傳遞函數的時候,你不能使用方法.
需要調用方法的時候,你不能寫成函數的形式.
③ 了解python中bytes,str和unicode的區別
str是經過編好碼的字元串,如unicode,gb2312,ascii編碼,可以表示不同語言中的字元,可以解碼成byte byte是位元組,只能是ascii碼0-255的字元,表示未經編碼處理的原始字元串
④ 請問python中這字元串轉bytes怎麼做算的
字元串類(str)有一個方法encode可以將字元串轉換為bytes對象。調用encode方法是,可選擇以字元串方式傳遞一個編碼,默認的編碼是UTF-8。下圖是按默認編碼將字元串'你好'轉換成bytes並輸出。
輸出
⑤ python中為什麼從str到bytes的轉化會出現類似' \x** '的形式
位元組碼(英語:Bytecode)通常指的是已經經過編譯,但與特定機器碼無關,需要直譯器轉譯後才能成為機器碼的中間代碼。位元組碼通常不像源碼一樣可以讓人閱讀,而是編碼後的數值常量、引用、指令等構成的序列。
位元組碼主要為了實現特定軟體運行和軟體環境、與硬體環境無關。位元組碼的實現方式是通過編譯器和虛擬機器。編譯器將源碼編譯成位元組碼,特定平台上的虛擬機器將位元組碼轉譯為可以直接執行的指令。
除了你最終好奇的"x"之外,應該都不難理解:三個位元組碼對應了一個漢字.
"x"是PEP也就是Python開發團隊所採用的Bytecode標識,無實際含義.
⑥ python str和byte的區別
str是經過編好碼的字元串,如unicode,gb2312,ascii編碼,可以表示不同語言中的字元,可以解碼成byte
byte是位元組,只能是ascii碼0-255的字元,表示未經編碼處理的原始字元串
⑦ python3 str類型中存在bytes型 怎麼進行轉換
a=b'xe9xbbx84xe6xb2xb3'
b=b'xe5xbdx92xe6x95x85'
print([x.decode('utf-8') for x in [a,b]])
⑧ python里有關byte和str
把你的完整代碼和報錯信息貼出來,別人才知道才知道怎麼幫你。
⑨ python2.7.3中怎麼將str轉為bytes
bytes解碼會得到str str編碼會變成bytes >>> b'123'.decode('ascii')'123'>>> '123'.encode('ascii')b'123'