Python3新增的Byte類型解讀
Python3新增的Byte類型
在python2中字節(jié)類型同字符類型區(qū)分不大,但是在python3中最重要的特性是對文本和二進(jìn)制數(shù)據(jù)做了更加清晰的區(qū)分。
文本總是Unicode,由字符類型表示,而二進(jìn)制數(shù)據(jù)則由byte類型表示。
python3不會以任意隱式方式混用字節(jié)型和字符型,也因此在python3中不能拼接字符串和字節(jié)包(python2中可以,會自動進(jìn)行轉(zhuǎn)換),也不能在字節(jié)包中搜索字符串,也不能將字符串傳入?yún)?shù)為字節(jié)包的函數(shù)。
需要注意的是,在網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中,python2可以通過字符串(string)方式傳輸,但是python3只能通過二進(jìn)制(bytes)方式來傳輸,因此要對傳輸文本進(jìn)行轉(zhuǎn)換。
轉(zhuǎn)化方式:
- str → byte 用encode()方法
- byte → str 用decode()方法
例如下面的例子:
>>>'你好'.encode('utf-8') b'\xe4\xbd\xa0\xe5\xa5\xbd' >>> b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode('utf-8') '你好' >>>'你好'.encode('utf-8').decode('utf-8') '你好'
- encode()和decode()方法中默認(rèn)編碼為utf-8,但是為了避免錯誤,最好將編碼加上。
- encode()出來的結(jié)果的==“b”==代表二進(jìn)制(binary)
UTF-8格式的編碼方式
UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼,又稱萬國碼,由Ken Thompson于1992年創(chuàng)建?,F(xiàn)在已經(jīng)標(biāo)準(zhǔn)化為RFC 3629。
UTF-8用1到6個字節(jié)編碼Unicode字符。用在網(wǎng)頁上可以統(tǒng)一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。
gbk字庫
GBK全稱《漢字內(nèi)碼擴(kuò)展規(guī)范》(GBK即“國標(biāo)”、“擴(kuò)展”漢語拼音的第一個字母,英文名稱:Chinese Internal Code Specification)
Python數(shù)據(jù)類型轉(zhuǎn)成byte[]
用Python調(diào)用jar包時,有個方法需要傳入byte[]類型的參數(shù),需把Python的數(shù)據(jù)類型轉(zhuǎn)成該類型,
方法如下:
from jpype import JByte
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python中(str,list,tuple)基礎(chǔ)知識匯總
本文給大家匯總介紹的是python中str(字符串)、list(列表)、tuple(元組)、dict(字典)的一些基礎(chǔ)知識,有需要的小伙伴可以參考下2018-02-02Python3利用SMTP協(xié)議發(fā)送E-mail電子郵件的方法
SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。下面這篇文章主要給大家介紹了關(guān)于Python3如何利用SMTP協(xié)議發(fā)送E-mail電子郵件的方法,需要的朋友可以參考下。2017-09-09Python的numpy庫中將矩陣轉(zhuǎn)換為列表等函數(shù)的方法
下面小編就為大家分享一篇Python的numpy庫中將矩陣轉(zhuǎn)換為列表等函數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python實(shí)現(xiàn)打印詳細(xì)報(bào)錯日志,獲取報(bào)錯信息位置行數(shù)
這篇文章主要介紹了Python實(shí)現(xiàn)打印詳細(xì)報(bào)錯日志,獲取報(bào)錯信息位置行數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08pycharm 復(fù)制代碼出現(xiàn)空格的解決方式
這篇文章主要介紹了pycharm 復(fù)制代碼出現(xiàn)空格的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01Python?copy()與deepcopy()方法之間有什么區(qū)別
這篇文章主要介紹了Python中的copy()和deepcopy(),下面詳細(xì)介紹該內(nèi)容并附上詳細(xì)代碼,需要的朋友可以參考一下文章的具體內(nèi)容,希望對你有所幫助2022-10-10