【Python】关于decode和encode

#-*-coding:utf-8 import sys ‘‘‘

*首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码, 即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312‘),表示将gb2312编码的字符串str1转换成unicode编码。

encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘gb2312‘),表示将unicode编码的字符串str2转换成gb2312编码。

总得意思:想要将其他的编码转换成utf-8必须先将其解码成unicode然后重新编码成utf-8,它是以unicode为转换媒介的 如:s=‘中文‘ 如果是在utf8的文件中,该字符串就是utf8编码,如果是在gb2312的文件中,则其编码为gb2312。

这种情况下,要进行编码转换,都需要先用 decode方法将其转换成unicode编码,再使用encode方法将其转换成其他编码。

通常,在没有指定特定的编码方式时,都是使用的系统默认编码创建的代码文件。

如下:

s.decode(‘utf-8‘).encode(‘utf-8‘)

decode():是解码 encode()是编码

isinstance(s,unicode):判断s是否是unicode编码,如果是就返回true,否则返回false

‘‘

s=‘中文‘ s=s.decode(‘utf-8‘) #将utf-8编码的解码成unicode

print isinstance(s,unicode) #此时输出的就是True

s=s.encode(‘utf-8‘) #又将unicode码编码成utf-8

print isinstance(s,unicode) #此时输出的就是False

‘‘

print sys.getdefaultencoding()

s=‘中文‘

if isinstance(s,unicode): #如果是unicode就直接编码不需要解码

print s.encode(‘utf-8‘)

else:

print s.decode(‘utf-8‘).encode(‘gb2312‘)

print sys.getdefaultencoding() #获取系统默认的编码

reload(sys)

原文地址:https://www.cnblogs.com/jingsheng99/p/10447736.html

时间: 2024-11-13 06:42:47

【Python】关于decode和encode的相关文章

python 补充-decode和encode

1. decode与encode转码 在Python3中默认编码就是uncode,encode转成Byte类型 在Python2中默认编码就是ascii window下默认编码是GBK decode(告诉人家我是谁),encode(我要转成谁) s="你好" #uncode s_uncode=s.encode("utf-8").decode("utf-8") print(s_uncode) #uncode与utf-8的区别,uft-8节省了空间,

Python中decode与encode的区别

摘抄: 字符串在Python内部的表示是Unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符解码(decode)成unicode,再从unicode编码(encode)成另一种编码. decode的作用是将其他编码的字符转换成unicode编码,如str1,decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码. encode的作用是将unicode编码转换成其他编码的字符串,如str2,encode('g

python decode unicode encode

字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码. 代码中字符串的默认编码与代码文件本身的编码一致,以下是不一致的两种: 1. s = u'你好' 该字符串的编码就被指定为unicode了,即python的内部编码,而与代码文件本身的编码(查看默认编码:import sys   print('hello',sys.getde

python 字符串编码 str和unicode 区别以及相互转化 decode('utf-8') encode('utf-8')

python 字符串编码 str和unicode 区别以及相互转化 decode('utf-8') encode('utf-8') 原文地址:https://www.cnblogs.com/zhaoyingjie/p/9133020.html

python 编码与解码 decode解码 encode 编码

>>> '无'   #gbk字符'\xce\xde'>>> str1 = '\xce\xde'>>> str1.decode('gbk')  # 解码gbk为 unicodeu'\u65e0'>>> str1.decode('gbk').encode('utf-8') # 解码gbk为 unicode   编码unicode 为utf-8'\xe6\x97\xa0'>>> print str1.decode('gbk

decode()和encode()

Python中,我们使用decode()和encode()来进行解码和编码 在python中,使用unicode类型作为编码的基础类型.即 decode              encode str ---------> unicode --------->str u = u'中国' #显示指定unicode类型对象u str = u.encode('gb2312') #以gb2312编码对unicode对像进行编码 str1 = u.encode('gbk') #以gbk编码对unicod

ExtJs中decode与encode(转载)

出自:http://blog.163.com/xiao_mege/blog/static/72942753201102693545195/ 在述说这个例子之前,我假想你已经知道什么是Json数据了,那么在这里在温习一下吧: JSON(JavaScript Object Notation) 是一种数据交换格式,采用完全独立于语言的文本格式:JSON建构于两种结构:“名称/值”对的集合和值的有序列表 下面详细说明下:“名 称/值”对的集合(A collection of name/value pai

Python decode与encode

字符串在Python内部的表示是unicode编码(8-bit string),因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码. decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码. encode的作用是将unicode编码转换成其他编码的字符串,如st

关于python decode()和 encode()

1.先收集一下这几天看到的关于decode()解码和encode()编码的用法 bytes和str是字节包和字符串,python3中会区分bytes和str,不会混用这两个.字符串可以编码成字节包,而字节包可以解码成字符串. 如下 非法!是字符串,编码成字节包,可以看到b'这种标识. 我们并不关心它们内部是怎么表示的,字符串里的每个字符要用几个字节保存.只有在将字符串编码成字节包(例如,为了在信道上发送它们)或从字节包解码字符串(反向操作)时,我们才会开始关注这点. 如果读出网页的内容是字节形式