Python子进程check_output编码特殊字符

2024-01-07

我在 python 编码方面遇到一些问题。当我尝试执行此操作时:

subprocess.check_output("ipconfig", shell=True)

它给了我一个包含特殊字符的输出,例如:

"Statut du m\x82dia"
"M\x82dia d\x82connect\x82"

(我是法国人)

当我尝试用 a 解码它时.decode()最后,它给了我这个错误:

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

我尝试使用.decode("utf-8"),我玩了几个小时的编码和解码,但找不到答案。我在互联网上查看的所有内容都不起作用。也许我只是愚蠢,但是嘿。 我该怎么做才能消除这些解码错误并打印我的特殊字符?

Thanks.


您通过 CMD 调用该命令,它具有 Unicode 模式和 ANSI 模式。 “正确”的方法是调用 Unicode 模式,但您可以添加encoding="437" or encoding="850"到子流程调用以使其工作。这取决于您知道当前的代码页是什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python子进程check_output编码特殊字符 的相关文章

随机推荐