Merkkijonon pituustarkistin
Tarkista merkkijonon pituus merkkeinä, Unicode-koodipisteinä, UTF-16-koodiyksikköinä ja UTF-8-tavuina. Aseta vähimmäis- ja enimmäispituus nähdäksesi, sopiiko merkkijono rajoihin, ja luo katkaistu kopio, joka ei koskaan halkaise emojia. Toimii selaimessa.
Syöte
Tuloste
Lue lisää
Mikä on merkkijonon pituus?
Merkkijonon pituus riippuu siitä, mitä lasketaan. Ihminen näkee merkkejä, mutta ohjelmat laskevat koodipisteitä, UTF-16-koodiyksiköitä tai tavuja, ja nämä määrät eroavat usein toisistaan. Emoji 👍🏽 näyttää yhdeltä merkiltä, mutta se koostuu kahdesta koodipisteestä, neljästä UTF-16-koodiyksiköstä ja kahdeksasta UTF-8-tavusta. JavaScript, Java ja C# ilmoittavat pituudeksi UTF-16-koodiyksiköiden määrän, tietokannat rajoittavat usein tavujen määrää, ja lomakekentät saattavat laskea rivinvaihdot kahdeksi merkiksi.
Työkalun kuvaus
Tämä työkalu näyttää merkkijonon pituuden samanaikaisesti neljänä yksikkönä ja tarkistaa sen valinnaista vähimmäis- ja enimmäispituutta vastaan. Sen avulla voit selvittää, mahtuuko käyttäjänimi, otsikko tai tietokannan arvo asetettuun rajaan, tai miksi kaksi ohjelmaa ilmoittaa saman tekstin eri pituiseksi. Jos merkkijono on liian pitkä, saat rajaan sopivan katkaistun kopion, jossa yksikään merkki ei katkea keskeltä.
Ominaisuudet
- Laskee merkit, Unicode-koodipisteet, UTF-16-koodiyksiköt ja UTF-8-tavut
- Tarkistaa pituuden valinnaista vähimmäis- ja enimmäispituutta vastaan valitsemassasi yksikössä
- Näyttää, kuinka monta yksikköä rajaan on jäljellä, kuinka monta puuttuu tai kuinka paljon raja ylittyy
- Katkaisee liian pitkän merkkijonon jakamatta emojeita, lippuja tai tarkkeellisia kirjaimia
- Voi jättää alku- ja loppupään välilyönnit huomiotta
- Voi laskea rivinvaihdot CR LF -muodossa, kuten HTML-lomakkeet lähettävät ne
Näin se toimii
Merkit ovat grafeemiklusteriryhmiä eli yksiköitä, jotka ihminen lukee yhtenä merkkinä. Selain löytää ne sisäänrakennetun Unicode-tekstin segmentoinnin avulla. Koodipisteet ovat merkkijonon Unicode-arvoja. UTF-16-koodiyksiköt ovat arvoja, jotka JavaScriptin String.length palauttaa: Basic Multilingual Plane -alueen ulkopuoliset merkit, kuten useimmat emojit, vievät kaksi koodiyksikköä. UTF-8-tavut tarkoittavat merkkijonon kokoa UTF-8-muotoon koodattuna. Katkaisu säilyttää kokonaiset merkit, kunnes seuraavan merkin lisääminen ylittäisi enimmäispituuden.
Vinkkejä
- MySQL:n
VARCHAR- tai PostgreSQL:nvarchar-rajaa varten tarkista pituus Unicode-koodipisteinä. Tavurajaa varten, kuten indeksin avaimessa tai verkkoprotokollan kentässä, tarkista pituus UTF-8-tavuina. - HTML-syötekentän
maxlength-määrite laskee UTF-16-koodiyksiköitä, joten yksi emoji voi käyttää niistä kaksi. - Selaimet lähettävät textarea-kenttien rivinvaihdot CR LF -muodossa, joten pituuden tarkistava palvelin saattaa laskea jokaisen rivinvaihdon kahdeksi merkiksi. Ota CR LF -asetus käyttöön, jotta tulos vastaa tätä toimintaa.