encode,decode,str,bytes

----encode(encoding="utf-8", errors="strict")方法该方法将字符串(str)转换为某种编码的字节对象。
    参数encoding默认为utf-8(亦即utf_8或utf8),表示默认转换为utf-8编码的字节对象
---decode(encoding="utf-8", errors="strict")方法,该方法将字节对象解码为原始的字符串。
    >>> u = '中文'                 # 指定字符串类型对象u 
    >>> str1 = u.encode('gb2312')  # 以gb2312编码对u进行编码,获得bytes类型对象
    >>> print(str1)
    b'\xd6\xd0\xce\xc4'  GB2312
    >>> str3 = u.encode('utf-8')   # 以utf-8编码对u进行编码,获得bytes类型对象
    >>> print(str3)
    b'\xe4\xb8\xad\xe6\x96\x87'   utf8
    >>> u1 = str1.decode('gb2312') # 以gb2312编码对字符串str进行解码,获得字符串类型对象
    >>> print('u1')
    '中文'
    字节数 : 2;编码:GB2312   字节数 : 2;编码:GBK  
    字节数 : 3;编码:UTF-8     字节数 : 4;编码:UTF-16  

 

 在bytes和str的互相转换过程中,实际就是编码解码的过程,必须显式地指定编码格式。
u='中文' s = bytes(u,encoding='utf-8') print(s) b'\xe4\xb8\xad\xe6\x96\x87' s1=str(s) print(s1) b'\xe4\xb8\xad\xe6\x96\x87' s2 = str(s,encoding='utf-8') print(s2) 中文
u='中文'
s = bytes(u,encoding='gb2312')
print(s)
b'\xd6\xd0\xce\xc4'
s2 = str(s,encoding='gb2312')
print(s2)
中文

 

posted @ 2018-01-30 14:05  CHVV  阅读(250)  评论(0编辑  收藏  举报