Unicode-normalisoija
Normalisoi Unicode-teksti käyttäen NFC-, NFD-, NFKC- ja NFKD-muotoja.
Syöte
Tuloste
Lue lisää
Mikä on Unicode-normalisointi?
Unicode määrittelee useita tapoja esittää samaa näkyvää merkkiä. Esimerkiksi merkki "é" voidaan tallentaa yksittäisenä valmiiksi yhdistetynä koodipisteinä (U+00E9) tai kirjaimena "e" seuraavana yhdistävänä akuuttina (U+0065 U+0301). Molemmat näyttävät identtisiltä, mutta ovat tavutasolla erilaiset, mikä aiheuttaa ongelmia merkkijonojen vertailussa, haussa ja tekstin käsittelyssa.
Unicode-normalisointi on prosessi, jossa teksti muunnetaan kanoniseen muotoon, jotta vastaavat merkkijonot muuttuvat identtisiksi. Unicode-standardi määrittelee neljä normalisointimuotoa:
- NFC (Canonical Decomposition, jota seuraa Canonical Composition): Valmiiksi yhdistetty muoto; kompaktin muoto, jota käytetään laajalti verkossa ja useimmissa käyttöjärjestelmissä.
- NFD (Canonical Decomposition): Täysin hajotettu muoto; jokainen merkki jaetaan peruskirjaimeen ja yhdistäviin merkkeihin.
- NFKC (Compatibility Decomposition, jota seuraa Canonical Composition): Kuten NFC, mutta myös taittaa yhteensopivuusmerkit (esim. ligatuurit, yläindeksit, täyslevyiset variantit) niiden kanonisiksi ekvivalenteiksi.
- NFKD (Compatibility Decomposition): Kuten NFD, mutta myös soveltaa yhteensopivuushajoitusta.
Työkalun kuvaus
Tämä työkalu normalisoi Unicode-tekstiä normalisointimuodosta toiseen. Valitse lähde- ja kohdemuodot, liitä tekstisi, ja muunnettu tulos näkyy välittömästi.
Ominaisuudet
- Kaikki neljä normalisointimuotoa: Tukee NFC-, NFD-, NFKC- ja NFKD-muotoja sekä lähteenä että kohteena.
- Kaksisuuntainen muuntaminen: Vaihda vapaasti minkä tahansa muotojen yhdistelmän välillä.
- Reaaliaikainen tulos: Teksti normalisoidaan välittömästi kirjoittaessasi tai liittäessäsi.
- Käsittelee mitä tahansa Unicode-kirjoitusjärjestelmää: Toimii latinalaisen, CJK-, arabian, kyrillisen ja minkä tahansa muun Unicode-koodatun tekstin kanssa.
Kuinka se toimii
Työkalu soveltaa standardia JavaScript String.prototype.normalize() -metodia valitulla kohdemuodolla. Tämä on täysin Unicode-standardin Annex #15:n mukainen Unicode-normalisoinnin toteutus.
Käyttötapaukset
- Merkkijonojen vertailun korjaaminen: Normalisoi teksti ennen vertailua tai indeksointia varmistaaksesi, että visuaalisesti identtiset merkkijonot vastaavat oikein.
- Haun ja tietokannan johdonmukaisuus: Standardisoi käyttäjän syöte yhteen muotoon (tyypillisesti NFC) ennen tallentamista tietokantaan, jotta vältetään kaksoiskappaleita, jotka eroavat vain koodauksessa.
- Yhteensopivuuden taittaminen: Käytä NFKC:tä ligatuurien, yläindeksien ja täyslevyisten merkkien tiivistämiseen niiden vakiovastaaviksi hakuindeksoinnissa tai luonnollisen kielen käsittelyssa.