When using shellcode in python 3, python prints strings as Unicode. This causes problems when using codes beyond 7f (127 in decimal) and when redirecting output to commands. To convert a string from utf-8 to cp1252, use iconv, such as this example:
python3 -c ‘print(“A”*20 + “\xef\xbe\xad\xde”)’ | iconv -f UTF-8 -t CP1252 | command_receiving_input