UnicodeDecodeError:“utf-8”编解码器无法解码位置 617 中的字节0x96:起始字节无效

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x96 in position 617: invalid start byte

提问人:Yagnesh 提问时间:8/20/2023 最后编辑:Mike 'Pomax' KamermansYagnesh 更新时间:8/20/2023 访问量:76

问:

File "d:\visual studio\python\sub.py", line 3, in <module>
    command_output = subprocess.run(["netsh", "wlan", "show", "profile"], capture_output = True).stdout.decode()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x96 in position 617: invalid start byte

这在不使用 decode() 的情况下运行,但省略了 \r 和 \n decode() 抛出 Unicode 错误 有谁知道这个?

python-3.x unicode utf-8 解码

评论

2赞 Mike 'Pomax' Kamermans 8/20/2023
最明显的是子进程输出根本不使用 utf-8 编码,而且你没有告诉 Python 它使用哪种编码,所以 Python 会说“k,我假设它是 utf-8”,所以你会得到一个错误。但这里听起来也像是一个 XY 问题:您正在运行一个单行 shell 脚本,因此您可能还需要根据 docs.python.org/3/library/ 捕获输出......shell=True

答: 暂无答案