python 中文字符串 编码转换,python把字符转化为编码
字符串编码转换最早的字符串编码是美国信息交换标准代码码,只包括0-9的数字,A-Z和无所不包的的字母以及空格、制表符等其他符号共256个字符。
随着信息技术的发展,各国的文字都需要进行编码,因此就出现了GBK/GB2312编码以及UTF-8编码。
在Python3中,默认采用UTF-8编码。
在计算机编程语言中,有两种常用的字符串类型,一种是str,一种是字节。
这两种类型的字符串不能拼接在一起使用,如果我们需要在网络上传输或者保存到磁盘上的话,就需要将潜艇用热中子反应堆(海底热反应堆的缩写)转换为字节。
要实现这个转换,就需要使用编码()方法。
1、encode()字符串。encode([encode= utf-8 ][,errors=strict]) encode(.)
标准编码(编码=utf-8 ,错误=strict) -字节
使用为编码注册的编解码器对进行编码。默认编码
是“utf-8”.可以给出误差来设置不同的误差
处理方案。默认值为"严格",表示编码错误会引发
unicode encoded error错误。其他可能的值有"忽略"、"替换"和
" xmlcharrefreplace "以及注册的任何其他名称
可以处理unicode编码错误的codecs.register_error .
例如:
str1=人生若只如初见byte1=str1.encode(GBK) #采用商业版编码进行转换byte2=str1.encode(utf-8) #采用utf-8编码进行转换打印(原字符串:,str1)打印(‘GBK转换:,字节1)打印( utf-8转换:,字节2)原字符串:人生若只如初见商业版转换:b \ xc8 \ xcb \ xc9 \ xfa \ xc8 \ xf4 \ xd6 \ xbb \ xc8 \ xe7 \ xb3 \ xf5 \ xbc \ xfb utf-8转换:b \ xe4 \ xba \ xba \ xe7 \ x94 \ x9f \ xe8 \ x8b \ xa5 \ xe5 \ x8f \ xaa \ xe5 \ xa6 \ x82 \ xe5 \ x88 \ x9d \ xe8 \ xa7 \ x81 2、encode()字节。decode([encoding=utf-8 ][,errors=strict]) decode(self,/,encoding=utf-8 ,errors=strict )
使用为编码注册的编解码器解码字节。
编码
用来解码字节的编码。
错误
用于处理解码错误的错误处理方案。
默认值为“严格”,这意味着解码错误会引发
UnicodeDecodeError错误.其他可能的值有"忽略"和"替换"
以及向编解码器注册的任何其他名称
可以处理UnicodeDecodeErrors错误.
例如:
str1=人生若只如初见byte1=str1.encode(GBK) #采用商业版编码进行转换byte2=str1.encode(utf-8) #采用utf-8编码进行转换打印(原字符串:,str1)打印(‘GBK转换:,字节1)打印( utf-8转换:,字节2)str 2=字节1。解码( GBK )#解码str3=byte2.decode(utf-8) #解码打印(解码后:,str2)打印(解码后:,str3)原字符串:人生若只如初见商业版转换:b \ xc8 \ xcb \ xc9 \ xfa \ xc8 \ xf4 \ xd6 \ xbb \ xc8 \ xe7 \ xb3 \ xf5 \ xbc \ xfb utf-8转换:b \ xe4 \ xba \ xba \ xe7 \ x94 \ x9f \ xe8 \ x8b \ xa5 \ xe5 \ x8f \ xaa \ xe5 \ xa6 \ x82 \ xe5 \ x88 \ x9d \ xe8 \ xa7 \ x81 解码后:人生若只如初见解码后:人生若只如初见需要注意的是,使用什么格式进行编码,就必须使用该格式进行解码。
str1=人生若只如初见byte1=str1.encode(GBK) #采用商业版编码进行转换byte2=str1.encode(utf-8) #采用utf-8编码进行转换打印(原字符串:,str1)打印(‘GBK转换:,字节1)打印( utf-8转换:,字节2)str 2=字节1。解码( utf-8 )#使用错误方法进项解码打印(解码后:,str2)原字符串:人生若只如初见商业版转换:b \ xc8 \ xcb \ xc9 \ xfa \ xc8 \ xf4 \ xd6 \ xbb \ xc8 \ xe7 \ xb3 \ xf5 \ xbc \ xfb utf-8转换:b \ xe4 \ xba \ xba \ xe7 \ x94 \ x9f \ xe8 \ x8b \ xa5 \ xe5 \ x8f \ xaa \ xe5 \ xa6 \ x82 \ xe5 \ x88 \ x9d \ xe8 \ xa7 \ x81 回溯(最后一次调用):File C:/Users/向阳戴/Desktop/1。py ,模块str2=byte1.decode(utf-8) #中的第8行使用错误方法进项解码UnicodeDecodeError错误:" utf-8 "编解码器无法解码位置0处的字节0xc8:无效的连续字节
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。