Ugrás a tartalomhoz
TextArray
100% helyi

BOM-kezelő (hozzáadás / eltávolítás)

Add hozzá vagy távolítsd el a láthatatlan UTF-8 BOM jelet a szöveg elején.

Bemenet

BOM-kezelő (hozzáadás / eltávolítás)

A byte order mark három láthatatlan bájt — U+FEFF —, amelyet néhány szerkesztő és Windows-eszköz egy UTF-8 fájl legelejére bélyegez. Sosem látod, de utána minden igen: a BOM az első sorban elbuktatja a shell-szkriptet, tönkretesz egy tiszta fejlécet váró CSV-importot, mojibakéként jelenik meg a <?php vagy <?xml előtt, és egy JSON-fájlból parse-hibát csinál. Ez az eszköz egyetlen beillesztéssel hozzáadja vagy eltávolítja, és felismeri a jelenlétét anélkül, hogy bármihez hozzányúlna.

Az eltávolítás pontosan egy vezető BOM-ot szed le, a szöveg többi részét — beleértve bármely szándékos zero-width no-break space-t középen — teljesen békén hagyja. A hozzáadás elé teszi a BOM-ot, de sosem másodikat, ha már ott van, így kétszer is biztonságosan futtatható. A felismerés jelenti az állapotot és változatlanul adja vissza a szöveget, ha csak tudni akarod. A számláló megnevezi, mi történt, és megadja a UTF-8 bájtok számát, ahol a BOM három bájtja az egyetlen látható különbség.

Miért adnál egyáltalán BOM-ot? Egy maroknyi eszköz még támaszkodik rá: az Excel a BOM nélküli UTF-8 CSV-t helyi ANSI kódlapként olvassa és elrontja az ékezetes neveket, így a BOM a pragmatikus javítás az Excelben nyitott CSV-khez. Szinte minden másra — webszerverek, szkriptek, konfigfájlok, forráskód — a BOM teher, és az eltávolítás a válasz.

Minden helyben, a böngésződben fut — a fájlod tartalma soha nem hagyja el az eszközödet.

Gyakori kérdések

Mi is az a BOM valójában?
A U+FEFF Unicode-karakter a fájl elején. UTF-16-ban a bájtsorrendet jelzi; UTF-8-ban felesleges, de néha „ez UTF-8" jelölőként használják. Szövegként zero-width no-break space, ezért teljesen láthatatlan.
Mikor távolítsam el a BOM-ot?
Szinte mindig. A UTF-8 BOM elbuktatja a shell-szkripteket (a shebangnek az első bájtnak kell lennie), a PHP-t és sablonmotorokat idegen kimenetre bírja, és a szigorú JSON-, YAML- és néhány XML-parser elutasítja. Ha egy fájlnak „láthatatlan karaktere van az elején", ami eltör egy eszközt, ez eltávolítja.
Mikor helyes a BOM hozzáadása?
Főleg a Microsoft Excelben nyitott CSV-fájlokhoz. BOM nélkül az Excel a helyi ANSI kódolást találgatja és elrontja az ékezetes karaktereket; BOM-mal helyesen olvassa az UTF-8-at. Néhány régebbi Windows-eszköz hasonlóan viselkedik.
Hozzányúl a szövegen belüli zero-width szóközökhöz?
Nem. Csak a legelső, egyetlen BOM adódik hozzá vagy távolítódik el. A szöveg közepén megjelenő U+FEFF — szándékos no-break szóközként vagy véletlen láthatatlan karakterként — pontosan ott marad, ahol van.
Feltöltődik valahová a szövegem?
Nem. A BOM-kezelés teljes egészében a böngésződben fut, és a szöveged soha nem hagyja el az eszközödet.