Ordine dei byte Mark
Unicode nella forma UTF-16 a 16 bit non ha un orientamento endian prescritto per l'interscambio. Ciò richiede che i processi di comunicazione valutino correttamente l'orientamento endian. A tale scopo, il carattere U+FEFF ZERO WIDTH NO-BREAK SPACE può essere utilizzato come Byte Order Mark (BOM). Se interpretato con l'orientamento endian non corretto, viene valutato come U+FFFE, che è definito come NOT A CHARACTER.
Alcune applicazioni, in particolare nei sistemi Windows, scrivono un carattere BOM all'inizio di un file. In UTF-8, la BOM è la sequenza di byte EF BB BF. Essendo una codifica orientata ai byte, non ci sono problemi di endian con UTF-8, ma alcune applicazioni (principalmente su Windows) scrivono la BOM all'inizio di un file codificato UTF-8. Un sistema non carica il punto di codice della distinta base; è possibile utilizzare l'opzione -bom per rimuovere un punto di codice iniziale della distinta base.
nzconvert -f utf8 -t utf8 -bom -df input_file -of output_file
- UTF16
- Come input, Netezza Performance Server verifica la presenza di una distinta base per indicare l'endianness; altrimenti, Netezza Performance Server interpreta l'input come big-endian. Come output, Netezza Performance Server scrive una distinta base ed esegue l'output nell'endianness nativo della macchina. Quando si converte da UTF-16 a qualsiasi altra codifica, come UTF-8, la BOM viene rimossa.
- UTF16le
- Come input, interpreta l'input come little-endian. Come output, Netezza Performance Server viene visualizzato come little-endian senza una distinta base. Qualsiasi distinta base viene trattata come dato e convertita, ad esempio in UTF-8.
- UTF16be
- Come input, interpreta tutti gli input come big-endian. Come output, Netezza Performance Server converte come big-endian senza una distinta base. Qualsiasi distinta base viene trattata come dato e convertita, ad esempio in UTF-8.