几天前我仔细阅读了unicode pain的文章,几个小时前我问了这个问题:
Do I have to encode unicode variable before write to file?
但最近我想到一个奇怪的问题。你知道吗
我发现这些代码工作正常:
chinese = ['中文', '你好'] # py2, these are bytes, type is str
with open('filename', 'wb') as f:
f.writelines(chinese)
既然我可以用py2和py3中的任何unicode字符直接声明变量,那么python(或我们)得到的unicode类型是什么?我们不能在整个程序中使用str(py2)和bytes(py3)类型吗?那所谓的痛苦就不存在了。你知道吗
有人能给我一些见解吗?你知道吗
但你不是这么做的。它们看起来像字符,但在源文件中被编码为字节。如果您尝试对这些值执行任何实际有用的操作,例如切片、下标、取长度,则所有操作都会失败。这就是“痛苦”。你知道吗
相关问题 更多 >
编程相关推荐