Python 有关unicode,gbk,cp2312,utf8的解码和编码

编码和日期一样,有点绕,看完几个例子你就会明白。GBK和cp2312等同,不单独列举,转载请附来源http://hi.baidu.com/z412018226

# -*- coding: gbk *-

#总体讲解:从GBK、UTF-8编码向unicode的转码为解码,函数为decode;从unicode向GBK、UTF-8为加密,函数为encode

print '\xe5\xbc\x80' 

print '\xbf\xaa'   

print u'\u5f00'     


print len('\xe5\xbc\x80') #长度为3

print len('\xbf\xaa')     #长度为2

print len(u'\u5f00')      #长度为1


s1='开' 

s2 = unicode(s1, "gbk")   #DECODE ###GBK 转UNICODE  ###在文件head编码注释为coding:utf-8时不能使用该函数,应使用s2=s1.decode('utf8')

s2 = s1.decode('gbk')     #DECODE ##本句使用效果同s2 = unicode(s1, "gbk")

s3 = s2.encode('gbk')     #ENCODE ->GBK   ##转回GBK编码

s4 = s2.encode('UTF-8')   #ENCODE ->UTF-8   ##转向UTF-8BK编码


如果上面看明白了就按继续练习一下 ,下面是文件2:


# -*- coding: utf-8 -*- 

s0= u'开'  ##len(s0)=1  在文件中运行时正常,但在python IDLE的shell环境调试时,会得不到你想要的结果,shell中调试可写成 s0 = u'\u5f00'

s1 = '开'  ##len(s1)=3  按文件头的编码方式 此时s1为UTF-8编码

s2 = s1.decode('utf8') #从UTF-8解码为UNICODE

s11 = s2.encode("utf-8")  # 从UNICODE加密为原来的UTF-8编码方式    s11==s1

s3 =  s2.encode("gbk")  ##从UNICODE向GBK加密

s22 = unicode(s3, "gbk") #从GBK解码为UNICODE  s22==s2



其他与unicode编码解码有关的函数  

ord(s0)    #24320     ascii及非ascii码通吃

unichr(24320)  #u'\u5f00'      ascii码为chr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值