Pregunta
Estoy jugando con la utilidad hexdump UNIX. Mi archivo de entrada es codificación UTF-8, que contiene un solo ñ
carácter, que es C3 B1
en hexadecimal UTF-8.
hexdump test.txt
0000000 b1c3
0000002
¿Eh? Esto demuestra B1 C3
- la inversa de lo que esperaba! ¿Puede alguien explicar?
Para conseguir el resultado esperado que hago:
hexdump -C test.txt
00000000 c3 b1 |..|
00000002
Estaba pensando entiendo sistemas de codificación ..
Solución
Esto se debe a los valores predeterminados hexdump a la utilización de palabras de 16 bits y está ejecutando en una arquitectura ascendente hacia la izquierda. El b1 c3
secuencia de bytes se interpreta así como la palabra hex c3b1
. Las fuerzas de opciones -C
Hexdump trabajar con bytes en lugar de palabras.
Otros consejos
He encontrado dos maneras de evitar lo siguiente:
hexdump -C file
o
od -tx1 < file
Creo que es estúpido que hexdump decidió que los archivos son por lo general de 16 bits palabra little endian. Muy confuso OMI.