You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中的Unicode转换:如何将两组类Unicode内容转换为指定格式?

在Python中转换类似Unicode内容的几种常用方法

嘿,这个问题我刚好处理过不少,得先明确你说的“类似Unicode的内容”具体是啥样的——不过常见的情况无非几种,我给你列最常用的处理方式,你对着自己的场景挑就行:

1. 转义Unicode字符串(比如\uXXXX格式)转实际字符

如果你的输入是带转义符的字符串(比如r"\u4F60\u597D"),想要转成对应的实际Unicode字符,有两种靠谱的方法:

方法1:用encode+decode组合

escaped_str = r"\u4F60\u597D"
# 先转成字节,再用unicode_escape解码
actual_characters = escaped_str.encode('utf-8').decode('unicode_escape')
print(actual_characters)  # 输出:你好

方法2:用ast.literal_eval(更安全,适合复杂场景)

如果你的字符串里还有其他特殊字符,用这个方法不容易出问题:

import ast

escaped_str = r"\u4F60\u597D"
# 把字符串包装成字符串字面量,再解析
actual_characters = ast.literal_eval(f'"{escaped_str}"')
print(actual_characters)  # 输出:你好

2. 码点数值转Unicode字符

如果你的内容是十六进制码点(比如字符串"4F60 597D")或者整数码点列表(比如[0x4F60, 0x597D]),可以用chr()函数逐个转换:

十六进制字符串转字符

hex_code_str = "4F60 597D"
# 拆分字符串,逐个转成整数再转字符
actual_characters = ''.join(chr(int(code, 16)) for code in hex_code_str.split())
print(actual_characters)  # 输出:你好

整数码点列表转字符

code_points = [0x4F60, 0x597D]
actual_characters = ''.join(chr(code) for code in code_points)
print(actual_characters)  # 输出:你好

3. 反向转换:实际Unicode字符转成转义/码点格式

如果是要把实际字符转成你说的“类似Unicode的内容”,也很简单:

转成\uXXXX转义字符串

original_str = "你好"
escaped_str = original_str.encode('unicode_escape').decode('utf-8')
print(escaped_str)  # 输出:\u4f60\u597d

转成十六进制码点字符串

original_str = "你好"
hex_codes = ' '.join(f'{ord(char):X}' for char in original_str)
print(hex_codes)  # 输出:4F60 597D

如果你的“类似Unicode内容”是其他特殊格式(比如UTF-16字节序列、其他编码的Unicode表示),可以把具体样例贴出来,我再帮你调整方案~

内容的提问来源于stack exchange,提问作者CyberCube

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:13:02