STINNER Victor added the comment:

See also issues #1602 (Windows console) and #16587 (stdin, _setmode() and 
wprintf).

I tried msvcrt.setmode(0, 0x40000): set stdin mode to _O_U8TEXT. In this mode, 
echo "abc"|python -c "import sys; print(ascii(sys.stdin.read()))" displays 
"\xff\xfea\x00b\x00c\x00\n\x00" which is "abc" encoded to UTF-16 (little endian 
with the BOM),  b'\xff\xfe' is the Unicode BOM U+FEFF (u'\uFEFF') encoded to 
UTF-16-LE. U+FEFF encoded to UTF-8 gives b'\xef\xbb\xbf'.

So it looks like it's not an issue of the stdin mode. I tried all modes and I 
always get the Unicode BOM.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue21927>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to