Ordre des octets Marque
L'Unicode sous la forme UTF-16 16 bits n'a pas d'orientation endian prescrite pour l'échange. Cela nécessite des processus de communication pour évaluer correctement l'orientation endienne. Pour ce faire, le caractère U+FEFF ZERO WIDTH NO-BREAK SPACE peut être utilisé comme marque d'ordre d'octet (BOM). Lorsqu'il est interprété dans l'orientation endienne incorrecte, il est évalué à U+FFFE, qui est défini comme NOT A CHARACTER (PAS UN CARACTÈRE).
Certaines applications, en particulier sur les systèmes Windows, écrivent un caractère BOM au début d'un fichier. En UTF-8, la nomenclature est la séquence d'octets EF BB BF. En tant qu'encodage orienté octet, l'UTF-8 ne pose pas de problème d'endian, mais certaines applications (principalement sous Windows) écrivent la nomenclature au début d'un fichier encodé en UTF-8. Un système ne charge pas le point de code de la nomenclature ; vous pouvez utiliser le commutateur -bom pour supprimer un point de code de la nomenclature initiale.
nzconvert -f utf8 -t utf8 -bom -df input_file -of output_file
- UTF16
- En entrée, Netezza Performance Server vérifie la présence d'un BOM pour indiquer l'endianness ; sinon, Netezza Performance Server interprète l'entrée comme big-endian. En sortie, Netezza Performance Server écrit une nomenclature et produit dans l'encodage natif de la machine. Lors de la conversion de l'UTF-16 vers un autre encodage, tel que l'UTF-8, le BOM est supprimé.
- UTF16le
- En entrée, interprète l'entrée en tant que little-endian. En sortie, Netezza Performance Server sort en little-endian sans BOM. Toute nomenclature est traitée comme une donnée et convertie, par exemple en UTF-8.
- UTF16be
- En entrée, interprète toute l'entrée comme big-endian. En sortie, Netezza Performance Server convertit en big-endian sans BOM. Toute nomenclature est traitée comme une donnée et convertie, par exemple en UTF-8.