python json.dumps中文乱码问题解决

2023-11-15

json.dumps(var,ensure_ascii=False)并不能解决中文乱码的问题

json.dumps在不同版本的Python下会有不同的表现, 注意下面提到的中文乱码问题在Python3版本中不存在。

注:下面的代码再python 2.7版本下测试通过

-- coding: utf-8 --

odata = {‘a’ : ‘你好’}
print odata
结果:

{‘a’: ‘\xe4\xbd\xa0\xe5\xa5\xbd’}
print json.dumps(odata)
结果:

{“a”: “\u4f60\u597d”}
print json.dumps(odata,ensure_ascii=False)
结果:

{“a”: “浣犲ソ”}
print json.dumps(odata,ensure_ascii=False).decode(‘utf8’).encode(‘gb2312’)
结果:

{“a”: “你好”}
要解决中文编码,需要知道python2.7对字符串是怎么处理的:

由于# – coding: utf-8 --的作用,文件内容以utf-8编码,所以print odata

输出的是utf-8编码后的结果{‘a’: ‘\xe4\xbd\xa0\xe5\xa5\xbd’}

json.dumps 序列化时对中文默认使用的ascii编码, print json.dumps(odata)输出unicode编码的结果

print json.dumps(odata,ensure_ascii=False)不使用的ascii编码,以gbk编码

‘你好’ 用utf8编

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python json.dumps中文乱码问题解决 的相关文章

随机推荐

  • 【100%通过率 】【华为OD机试真题c++】递增字符串【 2023 Q1A卷

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 问题描述 定义字符串完全由 A 和 B 组成 当然也可以全是 A 或全是 B 如果字符串从前往后都是以字典序排列的 那么我们称之为严格递增字符串 给出一个
  • TypeError: expected Tensor as element 0 in argument 0, but got numpy.ndarray

    显而易见 是pytorch中的Tensor和numpy ndarry类型导致的问题 只需要进行array和tensor的转换就行 调用函数torch from numpy annotation 实现array转换tensor
  • 萤石智能猫眼质保

    总流程 1 官网 https www ys7 com loginRedirect 1 2 登录 3 进入售后界面 4 填写申请单 5 寄送 根据短信
  • 程序员面试大厂被拆台:干这么多年不懂设计模式谁会要

    正在敲代码的你 春节假期即将来临 复盘这1年 你印象最深刻的一件事是什么 有人在群里回答了一条扎心的答案 忙碌1年 每天996 回首2019除了加班再无成长可说 你以为只要把事情搞定了 成长是一件自然而然的事情 但是过段时间你发现之前犯过的
  • Java生成doc文档一(概念简介)

    在很多项目的实际工作中 后端可能需要将一些整合的数据输出成word pdf excel等形式的文档 最近我在项目也遇到这样的而需求 这里就记录下来是如何一步一步完成java后端生成doc文档的 由于现在word文档基本都是用到07以上 所以
  • 协程中的流

    协程中的异步流 基础 一 什么是异步流 可以连续返回多个值 与集合的区别 集合可以返回多个计算好的值 但是只能一次性返回 与Rxjava 的流是同一个概念 二 如何创建异步流 1 最基础的流构建器 flow flow 构建块中的代码可以挂起
  • Windows上发生异常时抓取dump

    文章目录 正文 RaiseException函数 捕获大部分崩溃 SetUnhandledExceptionFilter 那还有小部分呢 为什么调试器可以抓到所有崩溃 CRT C STL 系统API之间的关系 CRT中几个重要的函数 退出进
  • 学长告诉我,大厂MySQL都是通过SSH连接的

    大家好 我是咔咔 不期速成 日拱一卒 一 背景 之前待的几个公司 数据库 服务器权限都是给所有后端直接拉满的 但也会出现员工离职的情况 每次有人离职时都需要改数据库密码 服务器密码 每次密码修改后得告知所有开发修改本地密码 但这样的事情也不
  • 详解反调试技术

    反调试技术 恶意代码用它识别是否被调试 或者让调试器失效 恶意代码编写者意识到分析人员经常使用调试器来观察恶意代码的操作 因此他们使用反调试技术尽可能地延长恶意代码的分析时间 为了阻止调试器的分析 当恶意代码意识到自己被调试时 它们可能改变
  • xilinx mipi ip

    占位
  • JSP页面中Input输入框获取当前系统时间

    JSP页面中Input输入框获取当前系统时间 在input属性value中填写如下代码即可获取系统当前时间输入 value
  • switch游戏机小白初体验

    1 switch版本区别 lite 续航版与oled的区别 oled屏幕比续航版的大 续航版和oled版都可以连接电视或显示器 lite只能玩掌机 只喜欢玩掌机的可以选lite 更便宜 国行 港版 日版的区别 国行不能与全球玩家联机 不能买
  • warning: could not find UI helper ‘git-credential-manager-ui‘

    可以先试试别人的教程 58条消息 关于git 凭证存储 credential helper配置 解决 git pull push fetch remote not found的问题 DavidFFFFFF的博客 CSDN博客 我是因为换了电
  • Python pyinstaller打包exe最完整教程

    目录 1 简介 2 安装 3 原理和打包效果 3 1 原理概述 3 2 搜索模块 3 3 打包效果概述 3 4 打包成单个文件夹 优点 缺点 3 5 打包成单个exe 优点 缺点 4 打包 4 1 基本语法 4 2 参数总览 位置参数 可选
  • IDEA导入eclipse项目并部署运行完整步骤(转发)

    首先说明一下 idea里的project相当于eclipse里的workspace 而idea里的modules相当于eclipse里的project 1 File gt Import Project 在弹出的对话框里选择要导入的项目 2
  • IAR仿真确认延时程序时间的准确性

    单片机 程序经常会用到延时函数 毫秒延时或微秒延时函数 为了确认延时函数时间的准确性 以前经常是需要通过IO口输出波形来确认时间是否准确 最近发现了个更方便准确的方法 只需要通过IAR仿真软件即可准确知道延时函数的运行时间 1 首先在IAR
  • SQL 数据更新

    SQL 数据更新 数据更新有三种 插入 修改 删除 一 插入数据 插入元组 行 INSERT Into lt 表名 gt lt 属性列1 gt lt 属性列2 gt lt 属性列3 gt lt 属性列4 gt Values lt 常量1 g
  • 2022.7台式机装机指南(3060 + 12490F)

    文章目录 硬件购买 装机避坑 系统制作 系统激活 大学四年用的华硕飞行堡垒FX86 那时候的配置还可以 8代i7 1050ti 8G 256固态 1T机械 后来又买了一张内存条 扩到了16g 四年只出过2次故障 第一次蓝屏自己修好了 第二次
  • PDF Redactor - 涂黑屏蔽PDF文字让敏感内容不可读的软件工具

    PDF Redactor是一款Windows平台下的PDF小工具软件 旨在涂黑屏蔽或删除PDF文件中的敏感文本和图像以保护隐私 被屏蔽的内容不仅在PDF阅读器中无法查看 而且即使使用文本搜索功能也无法再找到这部分内容 这些内容将从PDF文件
  • python json.dumps中文乱码问题解决

    json dumps var ensure ascii False 并不能解决中文乱码的问题 json dumps在不同版本的Python下会有不同的表现 注意下面提到的中文乱码问题在Python3版本中不存在 注 下面的代码再python