Marco de orden de octets
De Wikipedia, la enciclopedia libre
En unicode, una Marca de orden de los octets o (BOM, por el inglés Byte Order Mark) es un carácter unicode de code point U+FEFF (espacio insecable de tamaño vacio zero-width no-break space), cuando este carácter se emplea para marcar el endianness de una cadena de caracteres UCS/Unicode con código en UTF-16 o UTF-32 y/o como marca por indicar que el texto es encodado en UTF-8, UTF-16 o UTF-32.
En la mayoría de los encodages el BOM es una séquencia que poca posibilidad visible en la mayorías de los encodages conventionales o otros encodages unicodes (usually looking like a sequence of obscure control codes). Cuando un BOM no está interpretado correctamente, sino como carácter al contenido dentro de un texto, entonces no se puede verr en razón del hecho que es un zero-width no-break space. La semántica "zero-width no-break space" del caractèr U+FEFF ha cambiado con la version Unicode 3.2, que ya solo permite la semántica BOM.
En UTF-16, un BOM se nota con una secuencia de dos octets FE FF al principio de la cadena encodada, para indicar que los caracteres encodados siguientes emplean el orden big-endian; o, si la sequencia es FF FE para indicar el orden little-endian. El valor U+FFFE es garantía para no ser en ninguno caso un carácter Unicode, y puede ser empleada para detectar el orden de los octets en contraste con U+FEFF que es un carácter.
Mientras que el UTF-8 no está relacionado con ninguna problemática de orden de los octets, un BOM encodado en UTF-8 puede ser empleado para marcar el texto como UTF-8. Muchos logiciels Windows (incluando Windows Notepad) añaden uno a los ficheros UTF-8. Cependant, en los sistemas Unix-like (que emplean muchos ficheros textos por la configuración) esta practica no esta recomendida, porque puede interferir con el processo adequato de los códigos importantes tal como el hash-bang al principio de un script interprétado. También puede interferir con el fuente por los languages de programmación que no lo reconnossen. Por ejemplo, gcc reporte stray characters al principio del fichero fuente, y en PHP, quando el output buffering es désactivado, tiene por effecto subtile de hacer que la página emiieza a ser mandada al navigador, haciendo que los custom headers no pueden ser especificados por el script PHP. La représentación UTF-8 del BOM es la séquencia de octets EF BB BF, que aparece con el ISO-8859-1 como "" en los editores de textos y navegadores mal hecho relacionado al processo de UTF-8.
Aunque un BOM puede ser empleado con UTF-32, este encodage en practica no se emplea.
[editar] Representations des marques d'ordre d'octets par encodage
Encoding | Representation |
---|---|
UTF-8 | EF BB BF |
UTF-16 Big Endian | FE FF |
UTF-16 Little Endian | FF FE |
UTF-32 Big Endian | 00 00 FE FF |
UTF-32 Little Endian | FF FE 00 00 |
SCSU | 0E FE FF |
UTF-7 | 2B 2F 76 et l' une des séquences d'octets suivantes: [ 38 | 39 | 2B | 2F | 38 2D ] |
UTF-EBCDIC | DD 73 66 73 |
BOCU-1 | FB EE 28 |
[editar] Véase también
[editar] Enlaces externos
- The Unicode Standard, chapter 13 (PDF) (see 13.6 — Specials)
- FAQ — UTF and BOM