Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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
UnicodeDecodeError:&x27;ascii';编解码器可以';t解码字节。。。Python2.7和_Python_Unicode - Fatal编程技术网

UnicodeDecodeError:&x27;ascii';编解码器可以';t解码字节。。。Python2.7和

UnicodeDecodeError:&x27;ascii';编解码器可以';t解码字节。。。Python2.7和,python,unicode,Python,Unicode,我正在阅读一个文本文件,其中包含来自许多不同国家的unicode字符。文件中的数据也是JSON格式的 我在CentOS机器上工作。当我在终端中打开文件时,unicode字符显示得很好(因此我的终端配置为unicode) 当我在Eclipse中测试代码时,它工作得很好。当我在终端中运行代码时,它会抛出一个错误: UnicodeDecodeError:“ascii”编解码器无法解码位置17中的字节0xc3:序号不在范围内(128) 因此,在到达StreetName之前,一切都正常工作,在Street

我正在阅读一个文本文件,其中包含来自许多不同国家的unicode字符。文件中的数据也是JSON格式的

我在CentOS机器上工作。当我在终端中打开文件时,unicode字符显示得很好(因此我的终端配置为unicode)

当我在Eclipse中测试代码时,它工作得很好。当我在终端中运行代码时,它会抛出一个错误: UnicodeDecodeError:“ascii”编解码器无法解码位置17中的字节0xc3:序号不在范围内(128)

因此,在到达StreetName之前,一切都正常工作,在StreetName中,它与UnicodeDecodeError崩溃,而UnicodeDecodeError就是非ascii字符开始出现的地方

我可以通过添加.encode('utf-8')来修复该实例:

但随后它与下一行的UnicodeDecodeError崩溃:

outLine = outLine + FlatAdd

一个月来,我一直在跌跌撞撞地讨论这类问题。任何反馈都将不胜感激

这可能会解决您的问题。我说可能是因为编码有时会让奇怪的事情发生;)

从这一点上,你应该摆脱的消息。如果不是这样,请反馈您拥有的文件类型、语言。可能是一些文件头数据

text\u file.decode(“ISO-8859-1”)
也可能是一种解决方案

如果全部失败,请在此处查看
codecs()


罗布的演讲ᵩ ()对我理解unicode很有帮助。强烈推荐给任何有unicode问题的人

我的外卖:

  • 将所有内容转换为unicode,然后将其输入应用程序
  • 在代码中仅使用unicode字符串
  • 从应用程序输出数据时指定编码
对我来说,我正在从stdin和一个文件中读取数据并输出到stdout:

sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
对于标准DIN:

inData = codecs.getreader('utf-8')(sys.stdin)
对于文件:

inData = codecs.open("myFile","r","utf-8")
对于stdout(在将任何内容写入stdout之前执行一次):


抢劫ᵩ, 非常感谢。看到字节后,我感觉像尼奥。
with codecs.open('your_file.extension', 'r', 'utf8') as indexKey:
    pass
    # Your code here
inData = codecs.getreader('utf-8')(sys.stdin)
inData = codecs.open("myFile","r","utf-8")
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)