python字符编码

来源:互联网 发布:淘宝店铺首页链接在哪 编辑:程序博客网 时间:2024/06/03 13:45

Table of Contents

  • 1. 字符编码
  • 2. python字符串
  • 3. python格式化

1 字符编码

ascii 码是一个字节,通常只能显示英文字母和数字。 unicode码为了显示多种语言产生,但是要占用两个字节,显示文字要占用大量空间 utf-8 为了节约空间而生,英文字符只用一个字节存储,中文字符需要三个字节

characterasciiunicodeutf-8A01000000100000000 010000010100000001中x01001110 0010110111100100 10111000 10101101
  • 计算机内存中,统一使用unicode 编码,当保存到硬盘或者需要传输的时候,就转成UTF-8.
  • 浏览网页时,服务器会动态生成的 unicode 内容转换为UTF-8,再传输到浏览器,所以有时候用框架传递中文字符时,需要手动地把utf-8转换为unicode码。

2 python字符串

  • python的源码文件一般是UTF-8模式编码的
  • 所以python源码中的字符都要当作UTF-8来看待
  • so, str.decode('utf-8')实际上是解码为unicode编码方式,可以把unicode当作所有字符转换的中间量,encode时,一般要转换为unicode格式.
>>> u"空间"u'\u7a7a\u95f4'>>> "空间"'\xe7\xa9\xba\xe9\x97\xb4'>>> "空间".decode('utf-8')u'\u7a7a\u95f4'>>> print "空间".decode('utf-8').encode('gb2312')\227ռ\344>>> print "空间".encode('gb2312')Traceback (most recent call last):  File "<stdin>", line 1, in <module>  UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 0: ordinal not in range(128)>>>

3 python格式化

  • python的格式化是一个很强大的功能 类似与C 语言的格式化输入、输出,比如:
  • "hello, %s , number:%d" % ('tom', 10)
  • u"hello, %s" % u"tome"
0 0
原创粉丝点击