Python print编码转变默认编码

开发 后端
Python print编码如何进行相关的编码应用。尤其是在默认编码转换的过程中有不少的问题,下面我们就先详细的看看相关问题。

Python print编码有很多的应用范围,在这里我们先来看看如何进行默认编码转变成为系统编码。希望大家有所收获。什么情况用encode,什么情况又是decode呢,刚开始总是被搞昏。

其实各种本地字符集的英文名是Coded Character Set,要转换为Coded,肯定是要encode了,同样,从里面解出来也应该叫decode……

decode就是把其他编码转换为unicode,等同于unicode函数;encode就是把unicode编码的字符串转换为特定编码。在pyshell里继续:

a是Str类型的,所以再用encode会报错。用print输出时会调用默认编码转换为系统编码?

Python print编码

  1. >>> a.decode("gb2312")   
  2. u'\u6211'   
  3. >>> print a.decode("gb2312")   
  4. >>> a.encode("gb2312")   
  5. Traceback (most recent call last):   
  6. File "<input>", line 1, in ?   
  7. UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in 
    position 0: ordinal not in range(128)   

 

b是unicode类型,打印时需要先encode(编码)成系统编码

Python 代码

  1. >>> print b.encode("gb2312")   
  2. >>> b.encode("gb2312")   
  3. '\xce\xd2'   
  4. >>> b.decode("gb2312")   
  5. Traceback (most recent call last):   
  6. File "<input>", line 1, in ?   
  7. UnicodeEncodeError: 'ascii' codec can't encode character 
    u'\u6211' in position 0: ordinal not in range(128)  

Python print编码里默认的encode和decode是strict模式,所以会直接抛出Error,而Java里是默认replace模式,所以在处理servlet时经常会看到一串?????在decode时传入第二个参数errors为'replace'可以和Java相同,但总是没成功,还不知道为什么。

【编辑推荐】

  1. Python script代码在C++中的使用方法
  2. Python next函数实际操作教程
  3. Python正则表达式的几种匹配方法
  4. Python图像处理的好处所在
  5. Python多线程具体运用的方法
责任编辑:张浩 来源: CSDN
相关推荐

2010-12-31 13:44:55

python

2015-09-28 14:27:12

硬编默认选择

2010-03-23 14:34:44

Python vim检

2017-06-23 15:13:28

EPC编码对象

2016-02-15 14:13:39

Python编码环境

2015-07-31 09:27:56

安全编码代码审计Python

2022-12-13 07:55:00

Python地理编码

2010-02-01 10:21:36

Python编码转换

2023-11-09 19:12:43

AIoTel视频编码

2012-01-13 12:21:45

Java

2009-06-08 19:52:47

Eclipse字符编码

2015-09-29 10:07:58

中文编码

2013-04-08 10:33:54

编码编码规范

2024-02-28 23:07:42

GolangBase64编码

2017-03-25 21:32:40

Python编码

2024-03-04 07:50:04

Python字符编码网络通信

2018-01-22 17:02:48

Python字符编码ASCII

2023-04-13 00:24:00

前端编码JavaScrip

2010-09-06 09:06:22

CSS

2020-11-05 10:20:54

前端编码规范安全漏洞
点赞
收藏

51CTO技术栈公众号