Chinaunix首页 | 论坛 | 博客
  • 博客访问: 82915
  • 博文数量: 26
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 250
  • 用 户 组: 普通用户
  • 注册时间: 2015-08-12 22:31
文章分类

全部博文(26)

文章存档

2016年(26)

我的朋友

分类: Python/Ruby

2016-11-07 21:47:20


字符编码



>>> name = '老男孩'   (系统默认)
>>> name
'\xe8\x80\x81\xe7\x94\xb7\xe5\xad\xa9'  (utf-8格式)
>>> name = u'老男孩'
>>> name
u'\u8001\u7537\u5b69'   ----------> (Unicode格式)
>>> name.encode('utf-8')  ----------> Unicode转换成utf-8(encode编码)
'\xe8\x80\x81\xe7\x94\xb7\xe5\xad\xa9'  
>>> b = name.encode('utf-8')
>>> type(b)
>>> name
u'\u8001\u7537\u5b69'
>>> name = '老男孩'
>>> name
'\xe8\x80\x81\xe7\x94\xb7\xe5\xad\xa9'
>>> name.decode('utf-8')    -------------->utf-8转换成Unicode(decode解码)  
u'\u8001\u7537\u5b69'

读到到内存中是Unicode,存到硬盘上是utf-8格式
为了统一所有的编码Unicode应运而生,Unicode把所有的语言统一到一套编码中,这样就不会乱码。
实例:想打印中文,第一行要加  _*_ coding: utf-8 _*_
# _*_ coding: utf-8 _*_
school = u'老男孩'
print school

注意:在python3.0以后不用再加上面一行,python3.0默认支持unicode。
一般在linux写程序时,只需加上  #!/usr/bin/env python 即可。windows下什么都不用添加
代码书写规范:每行不得超过80个字符,变量名最好能起到标识的作用。变量可以用下划线相连,或者写成驼峰的格式都行。






阅读(1331) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~