中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Python3編碼怎樣實現(xiàn)相互轉(zhuǎn)化-創(chuàng)新互聯(lián)

這篇文章主要介紹了Python3編碼怎樣實現(xiàn)相互轉(zhuǎn)化,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司提供網(wǎng)站設(shè)計和自適應(yīng)建站服務(wù)。團(tuán)隊由有經(jīng)驗的網(wǎng)頁設(shè)計師、程序員和市場專家組成,能夠提供從H5建站,網(wǎng)站制作,一元廣告,模板建站到成都小程序開發(fā)等全方位服務(wù)。 以客戶為中心,致力于為客戶提供創(chuàng)新、高效的解決方案,幫助您打造成功的企業(yè)網(wǎng)站。

可以通過 Unicode 編碼來進(jìn)行不同編碼之間的相互轉(zhuǎn)化

  • 了解 ASCII、Unicode、UTF-8、GBK 這四種編碼的相關(guān)概念

  • 不同的編碼之間不能互相識別,不能相互轉(zhuǎn)化,會報錯或出現(xiàn)亂碼

  • 國際通用標(biāo)準(zhǔn):文字通過網(wǎng)絡(luò)傳輸、或硬盤存儲等不能使用 Unicode 編碼方式,因為 Unicode 使用的是升級版 32 位的,太費流量和空間

  • 在 Python3 版本中,唯獨 string 在內(nèi)存中的編碼方式是 Unicode,所以字符串不能直接進(jìn)行網(wǎng)絡(luò)傳輸及進(jìn)行文件的存儲

  • bytes:也是一種數(shù)據(jù)類型,不是字節(jié),與 string 類型就像是孿生兄弟

為啥要有 bytes ?—— bytes 內(nèi)部編碼不是 Unicode 方式,因此可以進(jìn)行網(wǎng)絡(luò)傳輸和文件的存儲

 前面提到,string 類型卻是 Unicode 方式,為啥平時我們用的是 string 而不是 bytes?——因為 bytes 的中文是 16 進(jìn)制方式存在

因此,一般當(dāng)需要網(wǎng)絡(luò)傳輸數(shù)據(jù)或者文件存儲時要考慮用 bytes 類型。

s1 = "abc"
s2 = b"abc"
 
print(type(s1))     # <class 'str'>
print(type(s2))     # <class 'bytes'>

string 轉(zhuǎn)化成 bytes 的方法

######## 方法一 ########
# Unicode編碼方式的 string --> GBK編碼方式的 string --> GBK編碼方式的 bytes
# encode    編碼
# decode    解碼
 
# Python3 版本中,字符串的編碼方式就是 Unicode, 所以這里等同于 s = u"中國"
s1 = "中國"
b = s1.encode("gbk")
s2 = b.decode("gbk")
 
print(s1)           # 中國
print(b)            # b'\xd6\xd0\xb9\xfa'
print(s2)           # 中國
print(type(s1))     # <class 'str'>
print(type(b))      # <class 'bytes'>
print(type(s2))     # <class 'str'>
 
# 原因解析:首先 s1 是以 Unicode 編碼方式的 string
# 然后 b 是將 Unicode 編碼方式的 string 轉(zhuǎn)化成 GBK 編碼方式的 bytes
# 最后 s2 是將 GBK 編碼方式的 bytes 轉(zhuǎn)化成 Unicode 編碼方式的 string
 
 
######## 方法二 ########
# Unicode編碼方式的 string --> UTF-8 編碼方式的 string --> GBK編碼方式的 bytes
 
s1 = "中國"
b = s1.encode("utf-8")
s2 = b.decode("utf-8")
 
print(s1)           # 中國
print(b)            # b'\xe4\xb8\xad\xe5\x9b\xbd'
print(s2)           # 中國
print(type(s1))     # <class 'str'>
print(type(b))      # <class 'bytes'>
print(type(s2))     # <class 'str'>

強調(diào)一點:不同編碼之間只能通過 Unicode 編碼方式來相互轉(zhuǎn)化


Python3編碼怎樣實現(xiàn)相互轉(zhuǎn)化

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享Python3編碼怎樣實現(xiàn)相互轉(zhuǎn)化內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,詳細(xì)的解決方法等著你來學(xué)習(xí)!

網(wǎng)站名稱:Python3編碼怎樣實現(xiàn)相互轉(zhuǎn)化-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://www.rwnh.cn/article28/epgjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站營銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、App設(shè)計電子商務(wù)、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
日土县| 尚志市| 肇庆市| 拉孜县| 刚察县| 天气| 平安县| 海门市| 通州市| 苏州市| 七台河市| 缙云县| 九寨沟县| 新乐市| 武功县| 黄陵县| 永登县| 渭南市| 潢川县| 同德县| 甘孜县| 图片| 抚宁县| 竹山县| 新晃| 浦北县| 电白县| 方城县| 佳木斯市| 吉隆县| 青浦区| 栾川县| 松桃| 寻乌县| 奈曼旗| 福海县| 逊克县| 佛冈县| 台中县| 中山市| 黑山县|