UnicodeDecodeError:'utf-8'编解码器无法解码字节...无效的起始字节

时间:2017-12-10 04:42:36

标签: python utf-8 pyperclip

我目前正在编写一本自学Python的书,我遇到了一个我似乎无法得到好答案的错误。错误是:

Vue.directive('check', {
  inserted(el, binding, vnode, old) {
    if (binding.value === 'aaa') {
      vnode.elm.parentElement.removeChild(vnode.elm)
    }
  }
})

有问题的代码行:

'File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyperclip/__init__.py", line 596, in lazy_load_stub_paste
    return paste()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyperclip/__init__.py", line 109, in paste_osx_pbcopy
    return stdout.decode(ENCODING)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position 197: invalid start byte'

完整的脚本:

text = str(pyperclip.paste())

请告诉我是否还有其他任何可以解决此问题的方法。从我的搜索,它似乎是一个编码错误,但我没有丝毫想法如何解决它。

我感谢任何反馈。

谢谢。

2 个答案:

答案 0 :(得分:0)

问题是在python 2中的pyperclip.paste()上调用str()。这是因为你传入str的内容不是ascii。
我不知道你为什么要在pyperclip.paste()上调用str,因为这似乎返回一个字符串。另请注意,python 3 str()可以处理此问题。

答案 1 :(得分:0)

编码问题;删除注册商标符号(在LEGO旁边)