zoukankan      html  css  js  c++  java
  • python编码问题

    SCII编码是1个字节,而Unicode编码(汉字)通常是2个字节。一个字节8位(bit)
    如果统一成Unicode编码,英文字母就会占用2个字节,造成空间浪费。从而出现了utf8可变编码,utf8编码中。英文字母编码占一个字节,汉字通常3个字节。如果传输的文本汉字和英文混用,使用utf8能节省空间。
    在计算机内存中使用Unicode编码,需要保存为文件或者传输就装换为utf8编码。
    浏览网页的时候,服务器会把Unicode内容装换为utf8在传输到浏览器
    1 Python提供了ord()和chr()函数,可以把字母和对应的ASCII码相互转换
    1 >>> ord('A')
    2 65
    3 >>> chr(65)
    4 'A'
    View Code

    2 Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示,比如:

     1 >>> print u'中文'
     2 中文
     3 >>> u'中文'
     4 u'u4e2du6587'
     5 >>> print u'u4e2du6587'
     6 中文
     7 u''后面的内容是16进制的Unicode编码 可以看到Unicode一个汉字2个字节,u'中文'占用了4个字节
     8 >>> u'中文'.encode('utf-8')
     9 'xe4xb8xadxe6x96x87'
    10 转换为utf8编码 可以看到一个汉字占用了3个字节
    View Code

    3 反过来,把UTF-8编码表示的字符串'xxx'转换为Unicode字符串u'xxx'用decode('utf-8')方法

    1 >>> print 'xe4xb8xadxe6x96x87'.decode('utf-8')
    2 中文
    View Code
  • 相关阅读:
    汉诺塔问题
    两个有序链表序列的合并
    数列求和
    求集合数据的均方差
    [NOIP2014] 提高组 洛谷P1328 生活大爆炸版石头剪刀布
    [NOIP2014] 普及组
    洛谷P1726 上白泽慧音
    洛谷P1808 单词分类
    洛谷P1889 士兵站队
    洛谷P1288 取数游戏II
  • 原文地址:https://www.cnblogs.com/flex-/p/5543155.html
Copyright © 2011-2022 走看看