python - 在树莓派上解码 utf-8
问题描述
我在树莓派上解码 utf-8 时遇到问题...相同的代码在我的计算机上工作。但不适用于覆盆子。有什么线索吗?
在我的笔记本电脑上(预期输出):
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> b'\xc3\xa9'.decode('utf-8')
'é'
在树莓派上(意外输出):
Python 3.5.4 (default, Sep 5 2017, 18:32:10)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> b'\xc3\xa9'.decode('utf-8')
'�'
解决方案
不同之处在于两个系统上的区域设置。您可以通过以下方式在 python 中检查:
>>> import locale
>>> locale.getpreferredencoding()
UTF-8
您的一个系统应该报告UTF-8
编码,另一个不报告编码(可能是ISO-8859-1
相反)。在 Linux 上,检查locale
命令的输出以检查差异,然后调整区域设置以匹配(通过localectl
或update-locale
或您的发行版提供的任何内容)。
推荐阅读
- r - 在 R 中向 data.table 添加条件概率
- xml - 对不同员工的连续天数进行分组
- apache-spark - Pyspark如何将一列与另一列的结果相乘 - 数据框中的计数?
- python - 如何从数据集中的行中删除某些单词 - Pandas
- javascript - d3 制作周和小时之间的单独条形图,并将项目设置在正确的位置
- image - Swiftui 图像变黑
- css - 聊天框中的 CSS 对齐
- node.js - Dropbox SDK中的“orderby:其他”是什么意思
- python - Discord Bot 框架在启动时崩溃(Python)
- amazon-web-services - 如果订阅了不同帐户的 SNS,如何检查 SQS 过滤策略?