在Python中使用数学特殊字符

Joh*_*ohn 2 python string unicode matplotlib python-2.7

我正在从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)
Run Code Online (Sandbox Code Playgroud)

所以它似乎是一个编码问题.我尝试将以下行添加到我的班级顶部:

# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)

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

Pad*_*ham 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
Run Code Online (Sandbox Code Playgroud)