requests 模块的 response的说明

这段博客讲述了在处理HTTP响应时,如何正确地将response.text解码为UTF-8,以确保中文数据能正常显示。通过设置`ensure_ascii=False`,可以避免ASCII编码导致的中文乱码问题,使中文在存储和展示时保持正确格式。示例中展示了带有中文的JSON数据字典,强调了这一方法的重要性。

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

response.text == response.content.decode("utf-8")

response.json() == json.loads(response.text)

json.dump(res, fp=fp, ensure_ascii=False)

ensure_ascii=False 的作用是落盘的中文数据可以直接展示:

{"errno": 0, "data": [{"k": "狗", "v": "名. [动] dog; a surname 形. [骂] (该死的;可恶的) damned; cur"}, {"k": "狗刨", "v": "(一种游泳姿势) dog paddle"}, {"k": "狗吠", "v": "bark"}, {"k": "狗屁", "v": "nonsense ; rubbish; [骂] horseshit"}, {"k": "狗屋", "v": "kennel; [电影]Doghouse"}]}

否则展示成:

{"errno": 0, "data": [{"k": "\u72d7", "v": "\u540d. [\u52a8] dog; a surname \u5f62. [\u9a82] \uff08\u8be5\u6b7b\u7684\uff1b\u53ef\u6076\u7684\uff09 damned; cur"}, {"k": "\u72d7\u5228", "v": "\uff08\u4e00\u79cd\u6e38\u6cf3\u59ff\u52bf\uff09 dog paddle"}, {"k": "\u72d7\u5420", "v": "bark"}, {"k": "\u72d7\u5c41", "v": "nonsense ; rubbish; [\u9a82] horseshit"}, {"k": "\u72d7\u5c4b", "v": "kennel; [\u7535\u5f71]Doghouse"}]}

本质原因是ascii 一共就200多个字符,不能表达中文,中文会以ascii码的形式展示出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值