python与unicode

血红的双手。 提交于 2020-03-06 13:38:38

 Unicode是一种在计算机上使用的字符编码,是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

     Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。码位就是可以分配给字符的数字。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。

   Python里面默认所有字面上的字符串都用ASCII编码,可以通过在字符串前面加一个'u’ 前缀的方式声明Unicode字符串,这个'u' 前缀告诉Python后面的字符串要编成Unicode字符串。目前学习多用一些unicode字符串的encode()和decode()。下面举一个简单例子:

     查看某些字词的Unicode:

    Ustr=(u'世界', 'gb2312')

        print Ustr

     写文件时,可将Unicode格式的Ustr用utf-8编码,再写入文件:

       FILE = 'test.txt'   

       data = Ustr.encode('utf-8')   

       f = open(FILE,'w') 

       f.write(data)            

       f.close()

     简单的讲,Hstr='世界',需要解码,Hstr.decode('cp936');Ustr=u'世界',需要编码,Ustr.encode('utf-8')。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!