Endianness
El endianness es el orden de bytes de los valores multibyte en memoria: big-endian almacena primero el byte más significativo, little-endian primero el menos significativo.
Propósito
Resolver cómo se almacenan y transmiten los datos multibyte de forma coherente entre arquitecturas de CPU.
Mecanismo
Big-endian: el byte más significativo ocupa la dirección más baja (0x010203 se guarda como 01 02 03), convención de los protocolos de red. Little-endian: el byte menos significativo ocupa la dirección más baja (se guarda como 03 02 01), usado por x86/ARM. UTF-16/32 requieren BOM o una declaración explícita de endianness.
Casos de uso
- Campos de protocolos de red (el orden de bytes de red es big-endian)
- Formatos de archivo binario (p. ej., PNG es big-endian, ELF little-endian)
- Serialización de datos multiplataforma
- Desarrollo embebido y de controladores
Ejemplos
- entrada
0x01020304OutputBE: 01 02 03 04 / LE: 04 03 02 01The same value in both byte orders
Errores comunes
- Sending host-order integers without network byte order conversion
- Convert explicitly with htonl/ntohl or DataView
Términos relacionados
Byte Order Mark
La marca de orden de bytes (BOM) es el carácter U+FEFF colocado al inicio de un texto Unicode para indicar la forma de codificación y el orden de bytes. GLOSARIO
UTF-16
UTF-16 es la forma de codificación de longitud variable de Unicode que usa 2 o 4 bytes por punto de código: los caracteres del BMP ocupan una unidad de código de 16 bits y los del plano suplementario, un par sustituto (2 unidades). GLOSARIO
Binary
El binario es el sistema de numeración en base 2, que usa solo 0 y 1, y es el fundamento de la representación interna de datos en todas las computadoras electrónicas digitales. GLOSARIO
BOM
El BOM (marca de orden de bytes) es el carácter Unicode U+FEFF, colocado al inicio de un flujo de texto para indicar la forma de codificación y el orden de bytes. GLOSARIO