我正在使用調用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