最新公告
  • 欢迎您光临知事网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • python3中json编码是什么?怎么用?

    之前我们讲过了默认编码,因为非常简单,所以很多小伙伴一下子就学会了。经过众多小伙伴的强烈要求,小编查询了python中的其他编码,有发现了一个特别简单的json编码,python小白也能一学就会。本篇文章同样会举一个简单的代码示例,帮助大家记忆和理解,大家快一起来看看是什么吧。

    下面以一个例子展开:

    In [121]: json.dumps('中文', ensure_ascii=True)
    Out[121]: '"\\u4e2d\\u6587"'
     
    In [122]: json.dumps('中文', ensure_ascii=False)
    Out[122]: '"中文"'
    复制代码

    可以看到, 在 ensure_ascii 为 True 的情况下, 中文 被编码成了 Unicode 码, 为 False 才能正常显示, 但是这跟 ASCII 有什么关系呢? 来看一下 官方文档 对这个参数的解释:

    如果 ensure_ascii 是 true (即默认值),输出保证将所有输入的非 ASCII 字符转义。如果 ensure_ascii 是 false,这些字符会原样输出。

    现在稍微明白了, 在 ensure_ascii 为 True 的情况下, 如果字符串中存在 非ASCII 字符就将其转义, 根据结果可以知道这个字符被转义为 Unicode 码并格式化成了一个字符串, 注意 “\\u4e2d\\u6587” 与 “\u4e2d\\u6587” 是不同的, 前者是长度为 12 的字符串, 后者会被 Python 直接解析为 中文 , 长度为 2 . 这也就是我一开始出现的问题, 直接将转义的字符串在网络上传输可能会无法被识别. 比如 中文 被转义成 \\u4e2d\\u6587 , 而服务器如果不知道它是被转义过的字符串, 那它就是一个长度为 12 的普通字符串, 肯定会识别出错. 而将 ensure_ascii 设为 False 就不会进行转义, 使用原始字符。

    以上就是python3中json编码的介绍和使用的方法了。想要学习更多pytho方面的知识,一定要经常来看看小编写的文章。编码方面的文章很多小伙伴感兴趣,所以小编持续更新的。

    猜你在找

    找互联网优质资源,上知事网!
    知事网 » python3中json编码是什么?怎么用?

    常见问题FAQ

    网盘提取密码在哪里?
    在网站右侧有个“文件密码”,点击复制即可!
    网站的积分如何获得?
    注册登录后,每天签到可获得2个积分,每天可签到一次!

    发表评论

    • 1231会员总数(位)
    • 665资源总数(个)
    • 21本周发布(个)
    • 0 今日发布(个)
    • 3457稳定运行(天)

    提供最优质的资源集合

    Mac软件 Dedecms源码
    升级SVIP尊享更多特权立即升级