在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"前缀。