📜  Python – 将字符串转换为 unicode字符(1)

📅  最后修改于: 2023-12-03 15:19:05.551000             🧑  作者: Mango

Python – 将字符串转换为 Unicode 字符

在 Python 中,Unicode 是一种用于表示多语言字符串的标准。Unicode 为不同语言的每个字符指定了唯一的数字。在 Python 中,可以使用内置函数 ord() 将字符转换为相应的 Unicode 值,也可以使用内置函数 chr() 将 Unicode 值转换为相应的字符。本文将介绍如何将字符串转换为 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 字符串转换为字符串

如果要将 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 是以字符串形式存储的,因此无需进行任何转换。

将 Unicode 转换为字符

如前所述,可以使用内置函数 chr() 将 Unicode 值转换为相应的字符。以下示例代码演示了如何将 Unicode 值转换为字符:

# Python 2 & Python 3
unicode_char = u'\u96f6'
char = chr(int(unicode_char[2:], 16))
print(char)

输出:

在这个示例中,我们将 Unicode 字符串 u'\u96f6' 转换为字符

将字符转换为 Unicode

如前所述,可以使用内置函数 ord() 将字符转换为相应的 Unicode 值。以下示例代码演示了如何将字符转换为 Unicode 值:

# Python 2 & Python 3
char = '零'
unicode_char =  hex(ord(char))
print(unicode_char)

输出:

0x96f6

在这个示例中,我们将字符 转换为 Unicode0x96f6

结论

Python 中的 Unicode 是用于表示多语言字符串的标准。在 Python 中,可以使用内置函数 ord() 将字符转换为相应的 Unicode 值,也可以使用内置函数 chr() 将 Unicode 值转换为相应的字符。我们还可以使用 encode()decode() 方法将字符串和 Unicode 字符串转换为其他格式。