You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UnicodeDecodeError错误求助:utf-8解码netsh命令输出失败

解决UnicodeDecodeError: 'utf-8' codec无法解码字节0xff的问题

问题原因

Windows系统下netsh命令的输出编码并非UTF-8,而是与系统区域设置绑定的编码(比如中文系统常用GBK,或带BOM的UTF-16 LE)。你遇到的0xff字节是UTF-16 LE编码的BOM起始字节,因此用UTF-8解码会触发错误。

解决方案

方案1:指定UTF-16 LE编码解码

直接适配多数Windows环境下的netsh输出编码:

import subprocess

meta_data = subprocess.check_output(['netsh', 'wlan', 'show', 'profiles'])
print(type(meta_data.decode("utf-16-le")))

方案2:使用系统默认编码

通过系统区域设置自动获取适配编码,兼容性更强:

import subprocess
import locale

# 获取系统默认编码
system_encoding = locale.getpreferredencoding()
meta_data = subprocess.check_output(['netsh', 'wlan', 'show', 'profiles'])
print(type(meta_data.decode(system_encoding)))

方案3:临时忽略错误(不推荐)

若仅需临时测试,可通过errors参数跳过解码错误,但会丢失无法解码的内容:

import subprocess

meta_data = subprocess.check_output(['netsh', 'wlan', 'show', 'profiles'])
print(type(meta_data.decode("utf-8", errors="ignore")))

内容的提问来源于stack exchange,提问作者Med Op

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 14:25:24