zhu*_*yxn 4 python character-encoding
尝试在Python 2.7中将行写入文本文件,并具有以下代码:
# -*- coding: utf-8 -*-
...
f = open(os.path.join(os.path.dirname(__file__), 'output.txt'), 'w')
f.write('Smith’s BaseBall Cap') // Note the strangely shaped apostrophe
Run Code Online (Sandbox Code Playgroud)
但是,在output.txt中,我得到了Smith‚Äôs BaseBall Cap
.不确定如何纠正这个编码问题?有这种问题的任何准备吗?
Ned*_*der 11
您已声明您的文件使用UTF-8编码,因此您的字节字符串文字为UTF-8.卷曲撇号是U + 2019.在UTF-8中,它被编码为三个字节,\ xE2\x80\x99.这三个字节将写入输出文件.然后,当您检查输出文件时,它被解释为UTF-8以外的其他内容,而您会看到三个不正确的字符.
在Mac OS Roman中,这三个字节显示为‚Äô
.
您的文件是正确的UTF-8文件,但您查看的文件不正确.