Python3中如何将ASCII码(含u0032等格式)转换为对应显示字符
Python Unicode码点字符串转对应字符解决方案
核心内置函数
直接使用Python自带的两个内置函数组合即可实现需求:
int(字符串, 16):将十六进制格式的字符串转换为十进制整数chr(整数):接收Unicode码点的整数值,返回对应的显示字符
通用处理实现
针对你提到的三种输入格式,先做前缀清洗再转换即可,示例代码如下:
def convert_to_char(input_str: str) -> str: # 统一去除\u、u前缀,提取4位十六进制码点 pure_hex = input_str.lstrip(r'\u') # 十六进制转十进制后传给chr() return chr(int(pure_hex, 16))
测试效果
- 输入
0032:convert_to_char('0032')→ 输出'2' - 输入
u0032:convert_to_char('u0032')→ 输出'2' - 输入原始字符串
r'\u0032':convert_to_char(r'\u0032')→ 输出'2'
注:如果是Python代码中直接定义的普通字符串'\u0032',Python解释器会自动将其解析为字符'2',不需要额外转换,上述方法适配的是拿到的是字符串形式转义序列的场景。
内容的提问来源于stack exchange,提问作者jumper
相关产品推荐
相关产品推荐

