我需要制作cp932(它已展开shift-jis
)
UnicodeEncodeError: 'cp932' codec can't encode character '\u270c' in position 0: illegal multibyte sequence
import codecs
mytext = '\u270c'
with codecs.open(path,mode='w',encoding='cp932') as f:
mytext.encode('cp932',"ignore")
f.write(mytext)
exit()
我只是简化了本文的mytext
我认为这个字符通过了忽略flg的编码
但是,write
显示错误
有没有办法解决这个问题
在您的示例中,文件
f
希望Unicode字符串被传递到f.write()
,并且它们将按照codecs.open
声明的方式进行编码,因此代码尝试双重编码。另外,'\u270c'
不是CP932支持的字符,因此在任何情况下都不能写入CP932文件假设Python 3以特定编码编写Unicode字符串
text
,请使用:codecs
是一个较旧的模块,不需要。在Python2中,io.open
是与Python3的open
等效的后端口,并且Python3也支持它,以实现可移植性\
是cp932中的功能符号。因此,如果要对\
进行编码,应该使用\\
就你而言:
相关问题 更多 >
编程相关推荐