在python3.x中如何将\u9633 unicode类型的字符串转为汉字?

本文介绍了在Python3.x中如何将Unicode类型的字符串,如"u9633",转换为汉字"阳"的两种方法。方法一是通过utf-8编码再使用unicode_escape解码,注意真实爬虫项目中反斜杠可能无需手动转义。方法二是利用json的反序列化功能,该方法能处理多个反斜杠的情况,但需要安装json包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是在网页爬虫中遇到这个问题,尝试了半天,有两种方法,自己总结一下,并分享给大家:
例如:"\u9633" 转化为“阳”
(1)**方法一:**先通过utf-8将其转化为byte,再通过unicode_escape进行解码:

s = '\\u9633'  # 第一个\是转义
print(s.encode('utf-8').decode('unicode_escape'))  # 阳

需要注意的是:s中第一个反斜杠是用来转义表示第二个反斜杠的,在真实的爬虫项目中遇到的html中爬取的都是一个反斜杠,不需要手动添加反斜杠转义
(2)**方法二:**这个方式式看国外的一个大佬写的,通过json将字符串数据反序列化重载,操作方法如下:

import json
s1 = '\\u9633' 
s2 = '\u9633'
print(json.loads(f'"{s1}"'))  # 阳
print(json.loads(f'"{s2}"'))  # 阳

这个方法的好处在于不管前面有几个反斜杠都能转换,但是需要安装json包。

希望能帮到你们!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值