Fixed the encoding thing by resetting stdout to Latin-1 but that isn't what I wanted in the end
The scanner sends byte strings and >128 are special patterns for the display
I will rewrite to handle the stream as byte strings
Working using bytes