尝试删除DLL返回的非UTF字符时出错

时间:2013-01-25 18:00:03

标签: python dll encoding utf-8

我正在尝试修复由dll返回的结构中的一个字段,以使其不具有任何非UTF-8字符。当我尝试修改字段时,我遇到错误

import _portaudio as pa
...
my_dev_info = pa.get_device_info(device_index)
my_dev_info.name = my_dev_info.name.decode('utf-8','ignore')

    my_dev_info.name = my_dev_info.name.decode('utf-8','ignore')
    UnicodeDecodeError: 'utf8' codec can't decode byte 0xce in position 0: invalid c
    ontinuation byte

如果我尝试简单地将.name重新分配给其他内容则会出现其他错误

my_dev_info.name = '???'
AttributeError: Fields read-only: cannot modify values

pa是从我相信的dll导入的。我无法控制其内容。有什么方法吗?

这适用于简单的字符串,但不适用于'pa'对象:

>>> s='┼δⁿτΦ foo'
>>> s = s.decode('utf-8','ignore')
>>> s
u' foo'
>>>

0 个答案:

没有答案