當前位置:首頁 » 編程語言 » python字元編碼轉換

python字元編碼轉換

發布時間: 2022-09-20 23:05:50

『壹』 python字元串亂碼怎麼辦

字元串在python內部的表示是unicode編碼。
因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字元串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。

decode的作用是將其他編碼的字元串轉換成unicode編碼,如string1.decode('utf-8'),表示將utf-8編碼的字元串string1轉換成unicode編碼。

encode的作用是將unicode編碼轉換成其他編碼的字元串,如string2.encode('utf-8'),表示將unicode編碼的字元串string2轉換成utf-8編碼。
如果一個字元串已經是unicode了,再進行解碼則將出錯,因此通常要對其編碼方式是否為unicode進行判斷:
isinstance(string3, unicode) #用來判斷string3是否為unicode編碼
用非unicode編碼形式的string3來encode也會報錯。
推薦學習《Python教程》!

『貳』 python編碼轉換

有,b = [i.decode("utf8") for i in a]
這樣你轉換後的b就是你想要的列表了,輸出都是u'\...'之類的unicode編碼了
注意, decode裡面的參數我默認你是utf8的,如果報錯了你可以換gbk或者不填

『叄』 python3如何把字元串轉換成系統默認編碼

python 3和2很大區別就是python本身改為默認用unicode編碼。
字元串不再區分"abc"和u"abc", 字元串"abc"默認就是unicode,不再代表本地編碼、
由於有這種內部編碼,像c#和java類似,再沒有必要在語言環境內做類似設置編碼,比如「sys.setdefaultencoding」;
也因此也python 3的代碼和包管理上打破了和2.x的兼容。2.x的擴展包要適應這種情況改寫。
另一個問題是語言環境內只有unicode怎麼輸出gbk之類的本地編碼。
答按慣例都在(序列化)輸出時才轉換成本地編碼。
比如

1

file.write("GBK的中文".encode("GBK"))

python環境內字元串用str.encode("GBK")方法輸出成位元組串用於和其他環境交流。

『肆』 python2 怎麼將unicode編碼轉成中文

1、python2與python3稍微有點區別
2、python2中默認的字元編碼格式都是unicode,在字元串前加'u',表示unicode 編碼
3、將unicode轉換成中文,只需要用deconde解碼就可以了!

『伍』 如何用python將utf8編碼的16進制字元串轉換成對應的文字

你所指的utf-8編碼的16進制字元串應該是在IDE中顯示的問題。如果你要顯示對應的文字,可以將它轉為字元串數據(如果你是用list形式顯示了字元串信息而顯示出來是16進制的話),也可以將它輸出到文本中。

『陸』 Python如何將Unicode中文字元串轉換成 string字元串

Unicode字元串可以用多種方式編碼為普通字元串,假設unicodestring = u"Hello world",依照所選擇的編碼(encoding),如下:

1、#將Unicode轉換成普通的Python字元串:"編碼(encode)"。

(6)python字元編碼轉換擴展閱讀:

Python轉換字元和字元串的原因:為了處理不適合用ASCII字元集表示的數據。

在以ASCII碼為中心的語言和環境中,位元組和字元被當做相同的事物。由於一個位元組只能有256個值,這些環境就受限為只支持256個字元Unicode碼,另一方面,有數萬個字元,那意謂著每個Unicode字元佔用多個位元組,因此,你需要在字元和位元組之間作出區別。

(1)UTF-8編碼能處理任何的Unicode字元。它也是與ASCII碼向後兼容的,因此一個純粹的ASCII碼文件也能被考慮為一個UTF-8文件,而且一個碰巧只使用ASCII碼字元的 UTF-8文件和擁有同樣字元的ASCII碼文件是相同的。

這個特性使得UTF-8的向後兼容性非常好,尤其使用較舊的Unix工具時。UTF-8 無疑地是在 Unix上的占優勢的編碼。它主要的弱點是對東方文字是非常低效的。

(2)UTF-16編碼在微軟的操作系統和Java環境下受到偏愛。它對西方語言是比較低效,但對於東方語言是更有效率的。一個UTF-16 的變體有時叫作UCS-2 。

(3)ISO-8859編碼系列是256個字元的ASCII碼的超集。他們不能夠支援所有的Unicode碼字元;他們只能支援一些特別的語言或語言家族。

ISO-8859-1,也既Latin-1,包括大多數的西歐和非洲語言,但是不含阿拉伯語。ISO-8859-2,也既Latin-2,包括許多東歐的語言,像是匈牙利語和波蘭語。

『柒』 Python ascii 編碼 怎麼轉化為utf-8編碼

實現代碼如下:

a='abce'
#printtype(a)
b=a.decode("ascii")
#printtype(b)
c=a.decode("ascii").encode("utf-8")
#printtype(c)


在python中進行編碼轉換都是通過unicode作為中間值實現的。所以要先decode成unicode字元,然後再使用encode轉換成utf-8編碼的str。可以把注釋取消了,看下轉換過程中的類型。

『捌』 如何用python將utf8編碼的16進制字元串轉換成對應的文字

#coding:utf-8
'''
參考用
mystery=b"xe5x88xab"
x=mystery.decode('utf-8')
print(x)


y=bytearray.fromhex(xe5x88xab).decode()
print(y)
'''

var=1
whilevar==1:
a=input('輸入UTF-8的16進制編碼: ')

b=list(a)

#print(b)

leng=len(b)

i=0

while(i<(1.5*leng)):
b.insert(i,'\x')
i+=3

#print(b)

c=str(''.join(b))

#print(c)

d='b'+"'"+c+"'"

#print(d)

x=eval(d).decode('utf8')
print('轉換結果為: {} '.format(x))

我這個是輸入沒有x這種形式的,如輸入「44」(代表「D」的16進制UTF8碼),輸出"D"

如果你需要輸入形如x44這種,需要自己修改一下。

熱點內容
壓縮圓環 發布:2025-01-11 06:41:37 瀏覽:509
安卓背面是什麼字母 發布:2025-01-11 06:37:55 瀏覽:212
個人小程序怎麼購買雲伺服器 發布:2025-01-11 06:33:08 瀏覽:909
手機mc怎麼玩伺服器國際服 發布:2025-01-11 06:18:33 瀏覽:157
win2008ftp中文亂碼 發布:2025-01-11 06:10:03 瀏覽:868
平板配置為什麼這么低 發布:2025-01-11 06:05:30 瀏覽:622
可編程視頻 發布:2025-01-11 06:03:24 瀏覽:785
java多線程編程實戰 發布:2025-01-11 06:03:17 瀏覽:631
圖的演算法java 發布:2025-01-11 05:57:07 瀏覽:483
梯形圖編譯器 發布:2025-01-11 05:56:26 瀏覽:260