我正在使用调用MS DOS命令行应用程序的subprocess.check_output
来从应用程序返回stdout
字符串。带有±字符的Python subprocess.check_output
check_ouput的返回信息是关于刚刚运行的命令的信息,包含结果的新行以及另一个新行。具体返回的字符串看起来是这样的:
b'0ms: Channel.#0.Range.SelectedItem?\r\n\xf150 mV\r\n'
问题是\ XF1的第一个换行符后,该字符意味着是一个±(\ XB1),但始终返回A N(\ XF1)和我无法弄清楚为什么。
如果我在命令行中手动运行命令,我会得到正如我所期望的那样,所以我不认为命令行应用程序有问题。
在短期内,我可以用\ xb1替换任何\ xf1,但是它只是一种黑客,我宁愿防止它而不是解决它。
任何人有任何想法,为什么命令行和python之间的字符差异?
是,CP850开了窍,我只是没有使用正确的编码。 – Trevor 2011-12-14 12:36:41