0

我正在尝试将 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'
>>>
4

0 回答 0