On 18/05/08 18:41, Ilya Bobir wrote:
> Adri Verhoef wrote:
>> [...]
>>
>> Now do:
>> :se fileencoding=utf8 bomb
>> [...]
>
> Note, that you probably do not want to use BOM with UTF-8.
> See http://unicode.org/faq/utf_bom.html#29 (Q: Can a UTF-8 data stream
> contain the BOM character (in UTF-8 form)? If yes, then can I still
> assume the remaining UTF-8 bytes are in big-endian order?)
>
> BOM is needed for UTF-16 and UTF-32.
The BOM can also be used in UTF-8, not to determine endianness (which is
not relevant for UTF-8 -- one could argue that UTF-8 is always
big-endian) but to distinguish UTF-8 from other encodings including
UTF-16 and UTF-32. In UTF-8 as in other Unicode encodings, the BOM is
the codepoint U+FEFF, which is represented in UTF-8 by the three bytes
EF BB BF in that order.
For instance: when I still had Win XP, I noticed that on that system,
WordPad, which, when instructed to write a "Unicode text file", will
always _write_ in UTF-16 (or maybe UCS-2) little-endian, could _read_
UTF-8 files correctly if they had a BOM.
A BOM in UTF-8 form could conceivably appear in the middle of a UTF-8
data stream to represent the deprecated codepoint U+FEFF ZERO-WIDTH
NO-BREAK SPACE. Another codepoint, U+200C ZERO-WIDTH NON-JOINER (in
UTF8: E2 80 8C), is, however, nowadays preferred in this function.
Best regards,
Tony.
--
TERRY GILLIAM PLAYED: PATSY (ARTHUR'S TRUSTY STEED), THE GREEN KNIGHT
SOOTHSAYER, BRIDGEKEEPER, SIR GAWAIN (THE FIRST TO BE
KILLED BY THE RABBIT)
"Monty Python and the Holy Grail" PYTHON (MONTY)
PICTURES LTD
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---