Bytes, encoding y representación de bajo nivel: ASCII/Unicode, los objetos bytes y bytearray, lectura por chunks y conversión de enteros con big/little endian.
Si un carácter no cabe en el encoding destino (p. ej. una ó en ASCII), encode lanza error. El argumento errors controla qué hacer: 'strict' (por defecto, lanza error), 'replace' (pone ?) o 'ignore' (lo omite).
s = 'estacion con o-acento'print(s.encode('ascii', errors='replace'))print(s.encode('ascii', errors='ignore'))Si no sabes qué encoding usar, elige UTF-8: sus primeros 128 caracteres coinciden con ASCII (es retrocompatible) y cubre todo Unicode.
Con largo 1 el byteorder no influye; con largo mayor, cambiar de big a little puede cambiar radicalmente el valor.
No confíes en el print de bytes. Al imprimir, Python reemplaza visualmente algunos bytes por caracteres de escape: el byte 9 se ve como t y el 13 como r. Verifica el valor real con int.from_bytes, no a ojo.
print((9).to_bytes(1, 'big')) # b'\t' (no \x09)print(int.from_bytes(b'\t', 'big')) # 9 -> es correcto