Python编程:关于编码解码及UnicodeDecodeError
  TEZNKK3IfmPf 2023年11月15日 32 0

python2默认的编码是ASCII码

python3默认的编码是utf-8

思路:先将现有编码转为unicode,再转为目标编码

encode() –> decode()

Created with Raphaël 2.1.2      asccii码      unicode      utf-8

# -*- coding:gbk -*-

import sys

print(sys.getdefaultencoding())  # 获取默认编码方式
# ->utf-8

s = "你好"

print(s.encode("gbk"))  # 转为字节
# ->b'\xc4\xe3\xba\xc3'

print(s.encode("gb2312"))
# ->b'\xc4\xe3\xba\xc3'

print(s.encode("utf-8"))
# ->b'\xe4\xbd\xa0\xe5\xa5\xbd'

print(s.encode("utf-8").decode("utf-8")) # 转为字符
# ->你好

Python的str默认是ascii编码,和unicode编码冲突,就会报这个标题错误。那么该怎样解决呢?

通过搜集网上的资料,自己多次尝试,问题算是解决了,在代码中加上如下几句即可。

import sys
reload(sys)
sys.setdefaultencoding('utf8')
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   34   0   0 python开发语言
  TEZNKK3IfmPf   2024年05月31日   25   0   0 python
  TEZNKK3IfmPf   2024年05月31日   25   0   0 python
TEZNKK3IfmPf