我从Python中的ASCII文件中提取一些值,我想使用matplotlib将其用于绘图中的标签。所以其中一个字符串是µm/m
。 Python字符串中提取的值是\xb5m/m
,但在Eclipse中使用调试器看起来像�m/m
。
因此,当将标签传递给matplotlib时,它会显示以下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 21: ordinal not in range(128)
所以它似乎是一个编码问题。我尝试将以下行添加到我的班级顶部:
# -*- coding: utf-8 -*-
不幸的是,这并没有解决问题。我错过了什么吗?
答案 0 :(得分:6)
latin-1 编码不是utf-8,你可以解码:
In [41]: s = "\xb5m/m"
In [42]: print(s)
�m/m
In [43]: print(s.decode("latin-1"))
µm/m