Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在python中将字符串解码为utf-8_Python_String_Encoding_Utf 8 - Fatal编程技术网

无法在python中将字符串解码为utf-8

无法在python中将字符串解码为utf-8,python,string,encoding,utf-8,Python,String,Encoding,Utf 8,我试图将包含emojies的字符串保存到一个.txt文件中,但在运行代码时总是出现错误 代码: 错误: subject_proper = subject_proper.decode('utf-8') AttributeError: 'str' object has no attribute 'decode' 编辑: 如果我删除.decode,则会出现以下错误: UnicodeEncodeError: 'UCS-2' codec can't encode characters in positi

我试图将包含emojies的字符串保存到一个.txt文件中,但在运行代码时总是出现错误

代码:

错误:

subject_proper = subject_proper.decode('utf-8')
AttributeError: 'str' object has no attribute 'decode'
编辑:

如果我删除.decode,则会出现以下错误:

UnicodeEncodeError: 'UCS-2' codec can't encode characters in position 65-65: Non-BMP character not supported in Tk
编辑2:

示例文本:铁人三项运动员的圣诞礼物⛄

我已经把绳子刮下来了

这个方法以前是有效的,但是我不知道为什么它不适用于这个代码。我曾试图在别处找到答案,但不幸的是没有成功

我希望有人有个想法:)

如果您的文件设置为utf-8,但其中只有ASCII字符,我认为编码不重要

一旦你有了一个
str
,就不再需要解码了。如果您删除
.decode('utf-8')
,错误可能会消失


如果您希望代码可能具有utf-8值,可以使用
try except
块来捕获
AttributeError
,然后相应地对其进行操作。

这可能就是Python 2和Python 3之间的区别。这是否回答了您的问题?解码在字节上工作<代码> B'一些文本。解码(“UTF -8”)将工作,但<代码>某些文本。解码(“UTF -8”)不会。请考虑添加一些您试图解析/解码的文本到问题。我找出问题所在。代码在pycharm中运行,没有问题,但不会在空闲状态下运行。删除控制台的打印输出已修复该问题。它现在正在打印到.txt,没有问题。不幸的是,这不起作用。我得到以下错误:UnoDeEnCo错误:“UCS-2”编解码器不能编码位置65-65中的字符:TKE中不支持的非BMP字符可能考虑<代码> SubjdItAuth= EndoCuthION。我不确定您要解析哪些字符,但python似乎不喜欢它们。考虑检查
UnicodeEncodeError: 'UCS-2' codec can't encode characters in position 65-65: Non-BMP character not supported in Tk