在Python中,Unicode是一種字符編碼標準,它為全球范圍內的所有字符提供了唯一的標識符。Unicode編碼由一個固定的編碼空間組成,目前包含超過130,000個字符,涵蓋了幾乎所有的語言和符號。
在Python 3中,默認的字符串類型是Unicode字符串,也就是說,字符串中的每個字符都是使用Unicode編碼來表示的。這意味著你可以直接在字符串中使用任何語言的字符,例如中文、日文、韓文等。
在Python中,字符串前面加上"u"或"U"前綴可以表示一個Unicode字符串。例如:
s = u'你好世界'
print(s)
輸出:你好世界
你可以使用不同的編碼來表示一個Unicode字符串。Python提供了內置的編碼器和解碼器來實現這一點。下面是一些常用的編碼和解碼方法:
encode(encoding)
:將Unicode字符串編碼為指定的編碼格式。
decode(encoding)
:將指定編碼格式的字符串解碼為Unicode字符串。
例如,將一個Unicode字符串編碼為UTF-8格式的字節序列:
s = u'你好世界'
b = s.encode('utf-8')
print(b)
輸出:b’\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xb8\x96\xe7\x95\x8c’
將一個UTF-8格式的字節序列解碼為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"前綴。