最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python json.dumps中文亂碼問題解決

 更新時間:2020年04月01日 15:12:11   作者:極客堂  
這篇文章主要介紹了python json.dumps中文亂碼問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

json.dumps(var,ensure_ascii=False)并不能解決中文亂碼的問題

json.dumps在不同版本的Python下會有不同的表現(xiàn), 注意下面提到的中文亂碼問題在Python3版本中不存在。

注:下面的代碼再python 2.7版本下測試通過

# -*- coding: utf-8 -*-
odata = {'a' : '你好'}
print odata

結(jié)果:

{'a': '\xe4\xbd\xa0\xe5\xa5\xbd'}

print json.dumps(odata)

結(jié)果:

{"a": "\u4f60\u597d"}

print json.dumps(odata,ensure_ascii=False)

結(jié)果:

{"a": "浣犲ソ"}

print json.dumps(odata,ensure_ascii=False).decode('utf8').encode('gb2312')

結(jié)果:

{"a": "你好"}

要解決中文編碼,需要知道python2.7對字符串是怎么處理的:

由于# -- coding: utf-8 --的作用,文件內(nèi)容以utf-8編碼,所以print odata

輸出的是utf-8編碼后的結(jié)果{‘a(chǎn)': ‘\xe4\xbd\xa0\xe5\xa5\xbd'}

json.dumps 序列化時對中文默認使用的ascii編碼, print json.dumps(odata)輸出unicode編碼的結(jié)果

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

‘你好' 用utf8編碼是 %E4%BD%A0%E5%A5%BD 用gbk解碼是 浣犲ソ

字符串在Python內(nèi)部的表示是unicode編碼。

因此,在做編碼轉(zhuǎn)換時,通常需要以unicode作為中間編碼,即先將其他編碼的字符串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。

decode的作用是將其他編碼的字符串轉(zhuǎn)換成unicode編碼

decode('utf-8')表示將utf-8編碼的字符串轉(zhuǎn)換成unicode編碼。

encode的作用是將unicode編碼轉(zhuǎn)換成其他編碼的字符串

encode(‘gb2312'),表示將unicode編碼的字符串轉(zhuǎn)換成gb2312編碼。

python3中沒有這種問題,所以最簡單的方法是引入__future__模塊,把新版本的特性導入到當前版本

from __future__ import unicode_literals
print json.dumps(odata,ensure_ascii=False)

結(jié)果:

{"a": "你好"}

在寫入文件的時候出現(xiàn)了Python2.7的UnicodeEncodeError: ‘a(chǎn)scii' codec can't encode異常錯誤

大神的解決方法:

不使用open打開文件,而使用codecs:

from __future__ import unicode_literals
import codecs
fp = codecs.open('output.txt', 'a+', 'utf-8')
fp.write(json.dumps(m,ensure_ascii=False))
fp.close()

到此這篇關于python json.dumps中文亂碼問題解決的文章就介紹到這了,更多相關python json.dumps中文亂碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python實現(xiàn)老照片修復之上色小技巧

    Python實現(xiàn)老照片修復之上色小技巧

    你會黑白照片上色嗎,今天小編帶你用python來給黑白照片上個色,這里我們借助百度AI開放平臺的“黑白圖像上色”接口,僅需二十行代碼即可實現(xiàn),感興趣的朋友來看看吧
    2021-10-10
  • python中關于property的最詳細使用方法

    python中關于property的最詳細使用方法

    這篇文章主要介紹了python中關于property的最詳細使用方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 為什么說Python可以實現(xiàn)所有的算法

    為什么說Python可以實現(xiàn)所有的算法

    在本篇文章里小編給各位整理的是關于一個Python就可以實現(xiàn)所有的算法的相關文章,需要的朋友們參考下。
    2019-10-10
  • python字符串str和字節(jié)數(shù)組相互轉(zhuǎn)化方法

    python字符串str和字節(jié)數(shù)組相互轉(zhuǎn)化方法

    下面小編就為大家?guī)硪黄猵ython字符串str和字節(jié)數(shù)組相互轉(zhuǎn)化方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Pytorch 的損失函數(shù)Loss function使用詳解

    Pytorch 的損失函數(shù)Loss function使用詳解

    今天小編就為大家分享一篇Pytorch 的損失函數(shù)Loss function使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python基于scrapy爬取京東筆記本電腦數(shù)據(jù)并進行簡單處理和分析

    python基于scrapy爬取京東筆記本電腦數(shù)據(jù)并進行簡單處理和分析

    這篇文章主要介紹了python基于scrapy爬取京東筆記本電腦數(shù)據(jù)并進行簡單處理和分析的實例,幫助大家更好的理解和學習使用python。感興趣的朋友可以了解下
    2021-04-04
  • windows python嵌入式安裝全過程

    windows python嵌入式安裝全過程

    文章介紹了嵌入式安裝包的概念,包括嵌入式Python和如何創(chuàng)建嵌入式安裝包,嵌入式Python是一個精簡版的Python解釋器,可以在沒有安裝Python的環(huán)境中運行,文章還提供了下載和配置嵌入式Python的詳細步驟,包括從官網(wǎng)下載安裝包、下載get-pip.py、配置文件和環(huán)境變量等
    2024-11-11
  • Python實現(xiàn)獲取網(wǎng)站PR及百度權(quán)重

    Python實現(xiàn)獲取網(wǎng)站PR及百度權(quán)重

    這篇文章主要介紹了Python實現(xiàn)獲取網(wǎng)站PR及百度權(quán)重,本文使用傳參的方式請求站長工具和谷歌工具獲取PR值和百度權(quán)重,需要的朋友可以參考下
    2015-01-01
  • 在Windows命令行中打開Python自帶shell問題

    在Windows命令行中打開Python自帶shell問題

    這篇文章主要介紹了在Windows命令行中打開Python自帶shell問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • python?json?jsonl?的用法詳解

    python?json?jsonl?的用法詳解

    這篇文章主要介紹了python?json?jsonl?的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-08-08

最新評論

博野县| 巴南区| 昌江| 黎川县| 工布江达县| 连城县| 巴中市| 荥经县| 巨野县| 东莞市| 铁力市| 千阳县| 库车县| 昌吉市| 融水| 炎陵县| 平泉县| 商南县| 刚察县| 屏边| 青川县| 柏乡县| 耒阳市| 青龙| 嘉善县| 万州区| 和田县| 承德县| 东阿县| 连平县| 富源县| 思南县| 安塞县| 徐闻县| 社旗县| 平果县| 贺州市| 防城港市| 邯郸市| 新宾| 金川县|