📅  最后修改于: 2023-12-03 15:19:05.551000             🧑  作者: Mango
在 Python 中,Unicode 是一种用于表示多语言字符串的标准。Unicode 为不同语言的每个字符指定了唯一的数字。在 Python 中,可以使用内置函数 ord()
将字符转换为相应的 Unicode 值,也可以使用内置函数 chr()
将 Unicode 值转换为相应的字符。本文将介绍如何将字符串转换为 Unicode 字符串。
我们首先需要了解 Python 中字符串是如何表示的。在 Python 2 中,字符串是以字节形式存储的,而在 Python 3 中,字符串是以 Unicode 形式存储的。因此,如果要在 Python 2 中将字符串转换为 Unicode 字符串,需要使用 decode()
方法,而在 Python 3 中,可以直接使用字符串。下面是一个演示如何将字符串转换为 Unicode 字符串的示例代码:
# Python 2
s = 'Hello, World!'
u = s.decode('utf-8')
print(u)
# Python 3
s = 'Hello, World!'
u = s
print(u)
输出:
# Python 2: Hello, World!
# Python 3: Hello, World!
在 Python 2 中,字符串 s
是以字节形式存储的,因此我们需要使用 decode()
方法将其转换为 Unicode 字符串。在 Python 3 中,字符串 s
是以 Unicode 形式存储的,因此无需进行任何转换。
如果要将 Unicode 字符串转换回字符串,可以使用 encode()
方法。下面是一个演示如何将 Unicode 字符串转换为字符串的示例代码:
# Python 2
u = u'Hello, World!'
s = u.encode('utf-8')
print(s)
# Python 3
u = 'Hello, World!'
s = u
print(s)
输出:
# Python 2: Hello, World!
# Python 3: Hello, World!
在 Python 2 中,Unicode 字符串 u
需要使用 encode()
方法将其转换为字符串。在 Python 3 中,Unicode 字符串 u
是以字符串形式存储的,因此无需进行任何转换。
如前所述,可以使用内置函数 chr()
将 Unicode 值转换为相应的字符。以下示例代码演示了如何将 Unicode 值转换为字符:
# Python 2 & Python 3
unicode_char = u'\u96f6'
char = chr(int(unicode_char[2:], 16))
print(char)
输出:
零
在这个示例中,我们将 Unicode 字符串 u'\u96f6'
转换为字符 零
。
如前所述,可以使用内置函数 ord()
将字符转换为相应的 Unicode 值。以下示例代码演示了如何将字符转换为 Unicode 值:
# Python 2 & Python 3
char = '零'
unicode_char = hex(ord(char))
print(unicode_char)
输出:
0x96f6
在这个示例中,我们将字符 零
转换为 Unicode
值 0x96f6
。
Python 中的 Unicode 是用于表示多语言字符串的标准。在 Python 中,可以使用内置函数 ord()
将字符转换为相应的 Unicode 值,也可以使用内置函数 chr()
将 Unicode 值转换为相应的字符。我们还可以使用 encode()
和 decode()
方法将字符串和 Unicode 字符串转换为其他格式。