在Python中使用数学特殊字符

时间:2016-03-24 11:19:50

标签: python string python-2.7 matplotlib unicode

我从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 -*-

不幸的是,这并没有解决问题。我错过了什么吗?

1 个答案:

答案 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