Kaj je BOM?
Oznaka za urejanje bajtov (BOM) ali oznaka za urejanje bajtov je posebna oznaka, ki se vstavi v Unicode datoteko, kodirano z UTF-8, UTF16 ali UTF-32, da identificira tip kodiranja Unicode datoteke. Za UTF-8 BOM ni potreben, saj se uporablja za označevanje tipa kodiranja in vrstnega reda bajtov (big-endian ali little-endian) večbajtne kodirane datoteke. V UTF-8 je število bitov, kodiranih za vsak znak, izraženo s prvim bajtom, in ni razlike med big-endianom in little-endianom. UTF-8 ne zahteva BOM-a, čeprav standard Unicode dovoljuje uporabo BOM-ov v UTF-8. Zato je UTF-8 brez BOM-a standardna oblika, in predvsem je Microsoftova navada, da BOM postavi v datoteko UTF-8 (mimogrede: tudi Microsoft običajno kliče UTF-16 z BOM-om "Unicode" brez podrobnosti). Za označevanje vrstnega reda bajtov se pripravljajo BOM-i za UTF-16 in UTF-32. Microsoft uporablja BOM v UTF-8, ker omogoča jasno razlikovanje med UTF-8 in ASCII kodiranjem, sicer bi lahko bilo odpiranje CSV datoteke v Excelu popačeno. A takšna datoteka lahko povzroči težave tudi v operacijskih sistemih, ki niso Windows. Razlika med "UTF-8" in "UTF-8 z BOM" je v tem, ali BOM obstaja ali ne. To pomeni, ali je na začetku datoteke U+FEFF. Spletna koda UTF-8 ne sme uporabljati BOM-ov, sicer so napake pogoste. Pri izhodu CSV datoteke iz http odgovora ta privzeto ni vključena, ko je nastavljena na utf8 BOM, vendar Windows Excel uporablja BOM za potrditev UTF8 kodiranja, vsi pa morajo BOM zapisati na začetek datoteke.
Ko prvič razvijate Java generator kode, boste datoteko vstavili neposrednoZapišite v datoteko UTF-8, ki vsebuje oznako BOMTo bo povzročilo napake pri pakiranju, kot sledi:
Nezakoniti liki: '\ufeff'
Kako naj uporabim .NET / C#, da ugotovim, ali datoteka vsebuje oznake BOM? , koda je naslednja:
Sodelavci, priloženiPretvarja format BOM UTF-8 v format UTF-8 (brez oznak BOM), celotna koda je naslednja:
(Konec)
|