1 / 17
文档名称:

谈谈Python编码问题和Unicode课件.ppt

格式:ppt   大小:641KB   页数:17页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

谈谈Python编码问题和Unicode课件.ppt

上传人:yuzonghong1 2022/9/28 文件大小:641 KB

下载得到文件列表

谈谈Python编码问题和Unicode课件.ppt

文档介绍

文档介绍:该【谈谈Python编码问题和Unicode课件 】是由【yuzonghong1】上传分享,文档一共【17】页,该文档可以免费在线阅读,需要了解更多关于【谈谈Python编码问题和Unicode课件 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。谈谈Python编码问题和Unicode
******@tencent
outline
Unicode基础知识
Python的str和unicode
Json编码工具
实例
Unicode
Ascii时代
7位,最高位是校验位
MBCS时代(多字节字符集)
中文CP963,GBK,GB2312,BIG5
Unicode
Unicode16,Unicode32
题外话:存在与表示
BigEndian&LittleEndian
SPARK,x86,ARM
HostByteOrder&NetworkByteOrder
htonl,ntohl,htons,ntohs
ObjectPersistence&Serialize
MFC,javaserialiableinterfaceandpersistenceapi,protobuf
Unicode&UTF,UCS
SeveralmechanismshavebeenspecifiedforimplementingUnicode.
Pythonstr&unicode
str对象
存储ascii字符串,以及二进制数据
unicode对象
存储unicode字符串,采用的是utf16或utf32
str用来存储各种utf数据,包括gbk等
可以认为:unicode对象是理想的unicode,str是丑陋的现实(各种utf)
str与unicode的转化
demo

importjson
我懂了上面说的,为什么json还是搞不定?
嗯,因为json帮你encode,decode了一些东西
需要仔细阅读json模块的文档
(obj,ensure_ascii,encoding...)
objpython数据结构:dic,list...
ensure_ascii=True(default)
dumps返回一个str
ensure_ascii=False
dumps返回一个unicode!我们可以进一步对它encode
encoding
在obj进行转化之前,所有obj中的str会转为unicode,(encoding)
默认情况:
str->unicode->json(unicode)->str
一个默认处理
(d,encoding='gbk')
它返回一个str
str->unicode->json(unicode)->str
str->unicode的decode在encoding参数控制
json(unicode)->str这里的encoding是默认控制的!
这个默认控制不是encode,而是直接把unicode转义为ascii编码,这个ascii码的内容是unicode!
这里应该是个utf8,这个过程是个硬编码: