python 中文编码 小结 ,json读写,str转换unicode,文字比较

最近用python做不少整理数据的工作,其中就包含不少关于中文处理的,所以总总结一下方便以后使用

1:json含汉字的utf编码读写

f2 = codecs.open('country_ipnum.json', mode='rb', encoding='utf-8')
c = eval(f2.read())

如此读取可以原样还原出json中的数据结构

line = json.dumps(a['features'][i]) + '\n'
    f3.write(line.decode("unicode_escape"))

在写入json的时候,可以这样每行都写入json,注意编码,可以确保把汉字写进入。

2:str和unicode转换

utf8样例:

‘asdasd’.decode(‘utf8’)

原理:

简单说来就是,python内部表示字符串用unicode(其实python内部的表示和真实的unicode是有点差别的,对我们几乎透明,可不考虑),和人交互的时候用str对象。 s.decode ——–>将s解码成unicode,参数指定的是s本来的编码方式。这个和unicode(s,encodename)是一样的。 u.encode ——–>将unicode编码成str对象,参数指定使用的编码方式。 助记:decode to unicode from parameter encode to parameter from unicode 只有decode方法和unicode构造函数可以得到unicode对象。 上述最常见的用途是比如这样的场景,我们在python源文件中指定使用编码cp936, # coding=cp936或#-*- coding:cp936 -*-或#coding:cp936的方式(不写默认是ascii编码) 这样在源文件中的str对象就是cp936编码的,我们要把这个字符串传给一个需要保存成其他编码的地方(比如xml的utf-8,excel需要的utf-16) 通常这么写: strobj.decode(“cp936”).encode(“utf-16”)

3:文字比对

先type输出其类型,然后 最好使用==进行比较

if(c[k][‘country’].decode(‘utf8’) == a[“features”][i][‘properties’][‘country_cn’]):

在这里,前部分是str的汉字编码,用decode转换成utf8.然后与后半部分原本就是unucode进行对比

原创文章,转载请注明: 转载自URl-team

本文链接地址: python 中文编码 小结 ,json读写,str转换unicode,文字比较

No related posts.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习与python集中营

数据分析最有用的 Top 50 Matplotlib 图(附完整的Python代码)(上)

50个Matplotlib图的汇编,在数据分析和可视化中最有用。此列表允许您使用Python的Matplotlib和Seaborn库选择要显示的可视化对象。

21340
来自专栏刷题笔记

#000 Python 入门第一题通过扩展,学到了更多的知识

创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

7440
来自专栏用户1052078的专栏

PHP函数之日期时间函数date()详解

format 必需。规定时间戳的格式。 timestamp 可选。规定时间戳。默认是当前的日期和时间。

11510
来自专栏Don的成长史

【PAT甲级】Sign In and Sign Out

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

7520
来自专栏腾讯NEXT学位

Python“爬”房,带你看最真实的房价!

人人都说买房难买房难,付完首付付月供,小N身边也有不少朋友在为这个问题烦恼。 A在深圳 ? 姓名:小宇 年龄:25岁 买房难题:工资只有4500,买了房=...

11430
来自专栏雪胖纸的玩蛇日常

中文编程为什么没有发展起来?

我是雪易网的开发者玩蛇的胖纸,当你看到这封信的时候,我想我已经离开易语言界很久了。

8510
来自专栏前端桃园

async/await 原理及执行顺序分析

之前写了篇文章《这一次,彻底理解Promise原理》,剖析了Promise的相关原理。我们都知道,Promise解决了回调地狱的问题,但是如果遇到复杂的业务,代...

12220
来自专栏智慧教育

腾讯智启学堂走进校园 玉龙中学编程课引专家团观摩

? 2019年11月7日,由南方科技大学、香港大学的专家学者们组成的人工智能教育应用考察团在深圳市龙华区玉龙中学,观摩了一场别开生面的编程课,并对龙华区的青少...

13130
来自专栏Don的成长史

【PAT甲级】Linked List Sorting

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

6120
来自专栏Don的成长史

【PAT乙级】Wifi密码

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

5110

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励