Tekens met of zonder spaties: welk aantal een formulier gebruikt
Een formulier, cv-portaal, sms of bericht op sociale media telt tekens op een van twee manieren: met spaties of zonder. Lees eerst het label of de helptekst van het veld, want daar staat vaak welke manier geldt. Staat er niets, gebruik dan de strengste telling, meestal die zonder spaties. Emoji en sommige letters met accenten kunnen in systemen die tekst meten in codeeenheden of bytes ook meerdere tekens tellen. Een tekst kan daardoor slagen in de ene teller en mislukken in de andere. Tel daarom met een tool die dezelfde regel volgt als het formulier.
WoordentellerZit mijn tekst boven de limiet?Gratis doenMet spaties of zonder
- Met spaties telt elk teken dat je typt, inclusief elke spatie, als één teken.
- Zonder spaties verwijdert alle witruimte voordat er geteld wordt, zodat de woorden aan elkaar komen te zitten. Het aantal zonder spaties van de woordenteller verwijdert elk witruimteteken, inclusief regeleinden, tabs en onverbrekbare spaties, en telt daarna wat overblijft.
„Hello world“ heeft 11 tekens met de spatie en 10 zonder. Een veld dat om tekens zonder spaties vraagt, wil dus het tweede getal.
Waarom één emoji twee tekens kan tellen
Tekst heeft twee soorten lengte. De eerste is wat mensen zien: een grafeemcluster, dat één zichtbaar teken is, ook als er meerdere codepunten voor nodig zijn. De tweede is wat de computer opslaat. De stringlengte van JavaScript, en veel oudere systemen, tellen UTF-16-codeeenheden. De meeste letters gebruiken één eenheid, maar tekens buiten het Basic Multilingual Plane, waaronder veel emoji, gebruiken er twee. De duim-omhoog-emoji, U+1F44D, ziet eruit als één teken maar bestaat uit twee UTF-16-eenheden. Een teller die met codeeenheden werkt, geeft dus 2.
De woordenteller hier telt zichtbare tekens, dus de duim-omhoog-emoji telt als 1. Een gezinsemoji telt ook als 1, ook al bestaat hij uit meerdere codepunten die met zero-width joiners zijn verbonden. Een formulier dat codeeenheden telt, geeft een hoger getal, en het verschil groeit met elke emoji in de tekst.
Letters met accenten
De letter é kan op twee manieren worden opgeslagen. Als één codepunt, U+00E9, is het overal één eenheid. Als de letter e gevolgd door het combinerende accent aigu, U+0301, zijn het twee codepunten en twee eenheden. Op het scherm zien beide er hetzelfde uit. Een teller die codepunten of eenheden telt, geeft 2 voor de tweede vorm, terwijl de woordenteller bij beide 1 geeft.
Limieten in bytes zorgen voor een ander verschil. In UTF-8 neemt é twee bytes in beslag en de meeste emoji vier. Een veld met een bytelimiet past dus minder accentletters of emoji in dan het aantal tekens doet vermoeden. De woordenteller toont geen bytes, dus die moet je apart schatten.
Regeleinden en verborgen tekens
Een regeleinde is in een tekstvak één teken. Veel systemen slaan een Windows-regeleinde echter op als twee tekens, een carriage return en een line feed, en webformulieren sturen regeleinden in die vorm door. Een telling op de server kan daardoor hoger uitvallen dan het tekstvak doet vermoeden, namelijk één extra per regeleinde. Tel daarom de tekst zoals hij wordt verzonden, niet alleen zoals je hem hebt getypt.
Nulbreedte-spaties werken anders. De telling zonder spaties behandelt ze niet als witruimte, dus ze blijven in het getal zitten en blazen het op. Gebruik eerst Verborgen tekens verwijderen. Die tool behoudt tabs en regeleinden en zet onverbrekbare spaties om in gewone spaties, die de telling zonder spaties daarna weghaalt. De gids over verborgen tekens legt uit waar deze tekens vandaan komen.
Eén tekst, vijf tellingen
Neem het woord „Café“, een spatie en een duim-omhoog-emoji, U+1F44D, met de é als één codepunt opgeslagen. Verschillende maten geven verschillende totalen:
| Meting | Aantal |
|---|---|
| Zichtbare tekens, met spaties (de woordenteller) | 6 |
| Codepunten | 6 |
| UTF-16-codeeenheden (de lengte in JavaScript) | 7 |
| UTF-8-bytes | 10 |
| Zichtbare tekens, zonder spaties (de woordenteller) | 5 |
Elk totaal klopt voor zijn eigen maat. Het formulier bepaalt welke maat telt, en daarom is de regel belangrijker dan welk afzonderlijk getal ook.
Stappen
- Lees de regel: tekens, bytes of woorden, en of spaties meetellen.
- Maak de tekst schoon met Verborgen tekens verwijderen, zodat onzichtbare tekens de telling niet opblazen.
- Plak de tekst in de woordenteller en lees de tekens en de tekens zonder spaties af. De limietrijen tonen veelvoorkomende limieten, maar het getal dat telt is dat van het formulier.
- Telt het formulier bytes, schat die dan apart, zoals hierboven.
- Toont het formulier een eigen live teller, vertrouw dan op dat getal en gebruik deze tool om te achterhalen waarom het verschilt van het jouwe.
- Blijft de regel onduidelijk, houd dan marge aan. Limieten voor woordaantal behandelt dezelfde vraag voor woorden en platformregels.
Randgevallen
- De regel van het platform geldt. Heeft een platform een eigen teller, neem dan zijn getal over in plaats van een algemene teller.
- Spaties aan het eind. Een formulier kan spaties aan het begin en eind van een veld wel of niet wegknippen. Eén spatie aan het eind kan de telling met één veranderen.
- Gekopieerde tekst. Tekst die van een webpagina is gekopieerd, kan onverbrekbare spaties en onzichtbare tekens bevatten. Maak hem schoon met Verborgen tekens verwijderen voordat je gaat tellen.
Vertaald uit de Engels origineel met hulp van AI.
Reacties
Nog geen reacties. Wees de eerste.


