如同那样,无论用什么编码去把一个字符串encode之后都是得到这一串东西,而且这一串东西还是不能转过来的,只能用python再decode过来,其他的代码我都已经注释掉了,就只有这一行,开头#coding:utf-8也试过了,求问各位大神这是什么原因?
如同那样,无论用什么编码去把一个字符串encode之后都是得到这一串东西,而且这一串东西还是不能转过来的,只能用python再decode过来,其他的代码我都已经注释掉了,就只有这一行,开头#coding:utf-8也试过了,求问各位大神这是什么原因?
python3中只存在unicode编码和str啊,encode是把字符串编码为unicode(就是你看到的觉得奇怪的东西),而decode是把unicode编码解码为字符串。print直接接受一个字符串就行了,用print('你好')就能输出"你好"了啊
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
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
,直接输出就行。