'''
在Python中,将一个字符串转换为相应的二进制串(01形式表示),
并且能够将这个二进制串再转换回原来的字符串
'''
def encode(s): return ' '.join([bin(ord(c)).replace('0b', '') for c in s]) def decode(s): return ''.join([chr(i) for i in [int(b, 2) for b in s.split(' ')]]) >>>encode('hello') '1101000 1100101 1101100 1101100 1101111' >>>decode('1101000 1100101 1101100 1101100 1101111') 'hello'
print('我爱你'.encode('utf-8')) a = '我爱你'.encode('utf-8') print(a) print(a.decode('utf-8')) >>>b'xe6x88x91xe7x88xb1xe4xbdxa0' >>>b'xe6x88x91xe7x88xb1xe4xbdxa0' >>>我爱你
#中文一般是gbk码,window的系统一般是用gbk编码,但是用这个编码不可以和别的国家语言通用#
#后来出了万国码,unicode,utf-8是它的一部分,别的任何码都可以转成unicode#
python3.x后都是默认用Unicode作为编码。Unicode只能用.encode('')解码成其他编码,但是不解码也可以。
#!-*- coding:utf-8 声明,python2.7的字符编码修改
#-*- coding:gbk -*- 声明,python3.x的字符编码修改
#python2.7默认是ascii码进行解码的
#默认用utf-8的模式时可以在字符串前加u“你好”直接说明是unicode的码下编码的
python转码后它也会将其转成byte类型
sys.getdefaultencoding()#打印系统默认使用的编码
type()#也可以打印编码类型
encode编码
decode解码
同理转回来一样的方法~