字节流和字符串

当使用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)
<type 'unicode'>
y= "abc"+char(150)
y=y.decode("windows-1252")
print type(y)
<type 'unicode'>
print x+ y
#abc-abc-

codecs模块

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

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

参考:http://www.tuicool.com/articles/2MVRVv7

最新文章

  1. 2.[WP Developer体验Andriod开发]Andriod Studio结合Visual Studio Emulator for Android调试Android App
  2. 关于WPF中RichTextBox失去焦点后如何保持高亮显示所选择的内容
  3. Linux下NDK编译FFMPEG包含neon参数
  4. 分区还原工具(DiskGenius)
  5. windows上JSP开发环境全搭建
  6. makefile中的target到底代表什么?
  7. Careercup - Google面试题 - 5634470967246848
  8. qt创建android项目后需要加入的参数
  9. [读书笔记]算法(Sedgewick著)&#183;第一章(1)
  10. HDU 2517 棋盘分割
  11. 【HDU 1828】 Picture (矩阵周长并,线段树,扫描法)
  12. 开始学习编程了…… 2015年九月七日 …… 31岁的Me.
  13. 关于js中 document.body.scrollTop 不能返回正确值的原因
  14. Linux一键安装web环境全攻略(阿里云服务器)
  15. jQuery Validation让验证变得如此容易(一)
  16. web.py 学习(二)Worker
  17. HTML 返回顶部
  18. 搭建基于Docker社区版的Kubernetes本地集群
  19. 【BZOJ3999】[TJOI2015]旅游(Link-Cut Tree)
  20. 出现error: command &#39;x86_64-linux-gnu-gcc&#39; failed with exit status 1

热门文章

  1. mapreduce多文件输出的两方法
  2. 【AutoMapper官方文档】DTO与Domin Model相互转换(上)
  3. 拨开迷雾,找回自我:DDD 应对具体业务场景,Domain Model 到底如何设计?
  4. POCO Controller 你这么厉害,ASP.NET vNext 知道吗?
  5. C# 数组的交集、差集、并集
  6. js 入门级常见问题
  7. iOS之开发中一些相关的路径以及获取路径的方法
  8. Unity插件之plyGame教程:DiaQ对话系统
  9. JS高级前端开发群加群说明及如何晋级
  10. 我的MYSQL学习心得(三) 查看字段长度