杰瑞科技汇

Python中Unicode字符如何转为int整数?

在 Python 中,将 Unicode 字符(如 'A')转换为对应的整数(即 Unicode 码位,如 65)可以使用内置函数 ord(),以下是详细说明和示例:

Python中Unicode字符如何转为int整数?-图1
(图片来源网络,侵删)

使用 ord() 函数

ord(c) 返回字符 c 的 Unicode 码位(整数)。

示例:

char = 'A'
unicode_int = ord(char)
print(unicode_int)  # 输出: 65
char = '中'
unicode_int = ord(char)
print(unicode_int)  # 输出: 20013

反向操作:int 转 Unicode

如果需要将整数(Unicode 码位)转换回字符,使用 chr() 函数。

示例:

unicode_int = 65
char = chr(unicode_int)
print(char)  # 输出: 'A'
unicode_int = 20013
char = chr(unicode_int)
print(char)  # 输出: '中'

处理 Unicode 转义序列

如果字符串中包含 Unicode 转义序列(如 '\u4e2d'),可以通过 eval() 或直接解析转换为字符。

示例:

unicode_escape = '\u4e2d'  # 等同于 '中'
char = eval(f'"{unicode_escape}"')  # 或直接使用 unicode_escape
print(char)  # 输出: '中'

注意事项

  • ord() 只能处理单个字符,如果传入字符串,会抛出 TypeError
    ord('AB')  # 报错: TypeError: ord() expected a character, but string of length 2 found
  • Unicode 码位范围是 00x10FFFF(即 1114111),超出范围会抛出 ValueError
    ord('\U00110000')  # 报错: ValueError: chr() arg not in range(0x110000)

实际应用场景

  • 字符编码转换:如将字符转换为 ASCII 或 UTF-8 的十六进制表示。
    char = 'A'
    hex_code = hex(ord(char))  # '0x41'
  • 密码学或加密:基于字符的 Unicode 值进行简单运算。

操作 函数 示例
Unicode 字符 → 整数 ord() ord('A') → 65
整数 → Unicode 字符 chr() chr(65) → 'A'

通过 ord()chr(),可以轻松实现 Unicode 字符与整数的双向转换。

Python中Unicode字符如何转为int整数?-图2
(图片来源网络,侵删)
Python中Unicode字符如何转为int整数?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇