在Python中,Unicode是一種字符編碼標(biāo)準(zhǔn),它為全球范圍內(nèi)的所有字符提供了唯一的標(biāo)識(shí)符。Unicode編碼由一個(gè)固定的編碼空間組成,目前包含超過(guò)130,000個(gè)字符,涵蓋了幾乎所有的語(yǔ)言和符號(hào)。
在Python 3中,默認(rèn)的字符串類型是Unicode字符串,也就是說(shuō),字符串中的每個(gè)字符都是使用Unicode編碼來(lái)表示的。這意味著你可以直接在字符串中使用任何語(yǔ)言的字符,例如中文、日文、韓文等。
在Python中,字符串前面加上"u"或"U"前綴可以表示一個(gè)Unicode字符串。例如:
s = u'你好世界'
print(s)
輸出:你好世界
你可以使用不同的編碼來(lái)表示一個(gè)Unicode字符串。Python提供了內(nèi)置的編碼器和解碼器來(lái)實(shí)現(xiàn)這一點(diǎn)。下面是一些常用的編碼和解碼方法:
encode(encoding)
:將Unicode字符串編碼為指定的編碼格式。
decode(encoding)
:將指定編碼格式的字符串解碼為Unicode字符串。
例如,將一個(gè)Unicode字符串編碼為UTF-8格式的字節(jié)序列:
s = u'你好世界'
b = s.encode('utf-8')
print(b)
輸出:b’\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xb8\x96\xe7\x95\x8c’
將一個(gè)UTF-8格式的字節(jié)序列解碼為Unicode字符串:
b = b'\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xb8\x96\xe7\x95\x8c'
s = b.decode('utf-8')
print(s)
輸出:你好世界
需要注意的是,在Python 2中,字符串類型分為普通字符串和Unicode字符串。普通字符串使用ASCII編碼,而Unicode字符串使用UTF-16編碼。如果要在Python 2中使用Unicode字符串,需要在字符串前面加上"u"或"U"前綴。