python3编码问题

图片描述

图片描述

如同那样,无论用什么编码去把一个字符串encode之后都是得到这一串东西,而且这一串东西还是不能转过来的,只能用python再decode过来,其他的代码我都已经注释掉了,就只有这一行,开头#coding:utf-8也试过了,求问各位大神这是什么原因?

阅读 2.8k
2 个回答

python3 就是为了避免编码格式混乱而改进的,它默认是用utf-8编码格式读写文件。不必特别指定utf-8。

python3 里只有unicode编码格式的字节对象能成为str
其他编码格式的是bytes,如:gbk、utf-8………………

str.encode(编码格式) --> bytes
就是从 unicode 转换成 指定编码格式bytes

bytes.decode(编码格式) --> str
就是从 指定编码格式bytes 转换成 unicode 的str

print('你好')
'你好'已经是 str了,不必转成bytes,直接输出就行。

python3中只存在unicode编码和str啊,encode是把字符串编码为unicode(就是你看到的觉得奇怪的东西),而decode是把unicode编码解码为字符串。print直接接受一个字符串就行了,用print('你好')就能输出"你好"了啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题