I'm using a `subprocess.check_output` call to a MS DOS command line application to return the `stdout` string from the application.

The return from the check\_ouput is information about the command just run, a new line containing the result I'm after and another new line. Specifically the return string looks like this:

```
b'0ms: Channel.#0.Range.SelectedItem?\r\n\xf150 mV\r\n'

```

The problem is the \xf1 after the first newline, that character is meant to be a ± (\xb1) but is always returned as a ñ (\xf1) and I can't work out why. 

If I run the command manually in the command line I get the ± as I would expect so I don't think the command line application is at fault. 

In the short term I can just replace any \xf1 I find with \xb1 but its a hack and I would prefer to prevent it rather than work around it.

Anyone got any ideas about why the character difference between command line and python?