博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python编码记录
阅读量:4918 次
发布时间:2019-06-11

本文共 648 字,大约阅读时间需要 2 分钟。

字节流和字符串

当使用Python定义一个字符串时,实际会存储一个字节串:

"abc"--[97][98][99]

python2.x默认会把所有的字符串当做ASCII码来对待,但是当字节值>127时,默认解析便会出现问题。

x="abc"+chr(150)print repr(x)#'abc\x96'u"Hello" + x#UnicodeDecodeError: 'ASCII' codec can't decode byte

这就需要我们拿到一个字节流后,调用它的解码方式来创建字符串(Unicode对象)

x="abc\x80\x93"x=x.decode("utf-8")print type(x)
y= "abc"+char(150)y=y.decode("windows-1252")print type(y)
print x+ y#abc-abc-

codecs模块

在处理字节流的时候可以提供很大的帮助。你可以用定义的编码来打开文件并且你从文件里读取的内容会被自动转化为Unicode对象,也可以以指定编码处理Unicode对象然后写入到文件。

import codecsf=codecs.open('0.txt', 'w', 'utf-8')f.write(u"\u2013")f.close()

参考:

转载于:https://www.cnblogs.com/houkai/p/5403268.html

你可能感兴趣的文章
安装SQL的时候,设置用户权限失败
查看>>
列表中字符串按照某种规则排序的方法(python)
查看>>
未能找到元数据文件**.dll解决办法
查看>>
C# 对象间的 深拷贝 实现
查看>>
现代软件工程第一周作业
查看>>
git从已有分支拉新分支开发
查看>>
echarts之series,markLine、markPoint
查看>>
Java 算法
查看>>
WinRAR 激活的小办法
查看>>
Java奇淫巧技之Lombok
查看>>
7层网络模型
查看>>
[TCP/IP详解:学习笔记]ARP:地址解析协议
查看>>
document节点的一些个性属性
查看>>
Oracle 社区动态、中文讲座,最佳实践
查看>>
GNU make manual 翻译( 九十五)
查看>>
向量空间模型 和 信息熵
查看>>
python-list操作
查看>>
[uva] 639 Don't Get Rooked
查看>>
讨论cocos2d-x字体绘制原理和应用方案
查看>>
洛谷P2015 二叉苹果树
查看>>