Ingen opplasting, 100% lokalt, ingen konto

Artikkel

Ord, tegn og store/små bokstaver: hvordan telling av tekst egentlig fungerer

Å telle tekst høres ut som den ene jobben en datamaskin ikke kan gjøre feil, og likevel gir to verktøy villig ulike tall for det samme avsnittet, en emoji kan koste deg 70 SMS-tegn, og «280 tegn» på X betyr ikke det det ser ut til. Bak de daglige gjøremålene med å skrive innenfor en grense, gi nytt navn til variabler eller fylle ut en mockup, ligger noen regler som er verdt å kjenne til. Denne artikkelen går gjennom dem, med de små tekstverktøyene på dette nettstedet som praktiske eksempler.

Hva som teller som et ord

De fleste tellere, vår inkludert, definerer et ord slik maskinskrivere gjorde: en rekke synlige tegn mellom mellomrom eller linjeskift. Denne ene regelen forklarer allerede de fleste uenigheter. Er «sms-melding» ett ord eller to? Ved oppdeling på mellomrom: ett. Er «e-post» ett ord eller to? Ett. Tall, URL-er og e-postadresser teller også hver for seg som ett ord. Konvensjonen bryter sammen for språk som skrives uten mellomrom: i kinesisk eller japansk finnes det ikke mellomrom å dele på, så en «ordtelling» gir ikke mening, og det er bedre å jobbe med tegntelling. Estimater av lesetid legger på en andre konvensjon: ordtelleren vår deler ordtallet på 200 ord per minutt, et vanlig gjennomsnitt for stille lesing hos voksne, så behandle resultatet som et planleggingstall, ikke et løfte.

Et tegn er ikke alltid ett symbol

Tegntelling er mer uklar, fordi Unicode-tekst har lag. Det du oppfatter som ett tegn (et grafem) kan være bygget opp av flere kodepunkter, og hvert kodepunkt opptar én eller to av de 16-bits enhetene som length-egenskapen i JavaScript teller. Det glisende ansiktet-emojien er ett grafem, men to av disse enhetene, så en naiv teller sier 2. En familieemoji satt sammen av flere personemojier er ett grafem, fem kodepunkter og åtte enheter. Selv vanlig tekst har dette problemet: «café» kan lagres med é som ett enkelt kodepunkt eller som en e etterfulgt av en kombinerende aksent, identisk på skjermen, men forskjellig i tellingen. Dette er grunnen til at to tellere er uenige: de måler forskjellige lag. Reglene for å gruppere kodepunkter til tegn oppfattet av brukeren er standardisert i Unicodes vedlegg om tekstsegmentering (UAX #29), og godt lagde tellere følger det.

Tre strenger målt på tre Unicode-lag: et glisende ansikt-emoji er 1 grafem og 2 UTF-16-enheter, et familieemoji er 1 grafem, 5 kodepunkter og 8 enheter, og en dekomponert café er 4 grafemer, men 5 kodepunkter

Grensene du egentlig teller for

Tegngrenser er der telling blir til penger. En SMS bærer 160 tegn i det kompakte GSM-7-alfabetet, men ett eneste tegn utenfor det (en emoji, eller en bokstav alfabetet ikke har) bytter hele meldingen til UCS-2, og grensen faller til 70; lange meldinger deles opp i deler på 153 eller 67 tegn, hver fakturert separat. X tillater 280 tegn per innlegg, men veier dem: hver URL teller som 23 uansett faktisk lengde, og de fleste emojier og CJK-tegn teller som 2. Søkeutdrag har i stedet myke grenser: Google forkorter titler og beskrivelser etter pikselbredde, så de kjente tallene 60 tegn for tittelen og 155 for beskrivelsen er arbeidskonvensjoner snarere enn garantier. Når en grense virkelig betyr noe, tell etter de samme reglene som plattformen bruker, og la det være margin.

Bokstavstørrelse er en konvensjon, og hver stil har et hjem

Å endre bokstavstørrelse høres trivielt ut helt til man støter på konvensjonene som tårner seg opp over det. Løpende tekst kjenner til Title Case, foretrukket av amerikanske overskrifter, og sentence case, som de fleste europeiske stilguider foretrekker. Kode har sine egne familier: camelCase for variabler i JavaScript og Java, PascalCase for klasse- og komponentnavn, snake_case i Python og databaser, SCREAMING_SNAKE_CASE for konstanter, og kebab-case for CSS-klasser, filnavn og URL-slugger, der små bokstaver unngår den klassiske fellen med lenker som bare skiller seg i bokstavstørrelse. Å konvertere en håndfull identifikatorer for hånd går fint; å konvertere en liste på åtti er hvordan skrivefeil oppstår. En formatkonverterer utfører transformasjonen mekanisk, inkludert de fiklete delene som å avgjøre hva som skjer med forkortelser og eksisterende skilletegn.

Uttrykket user profile page skrevet i seks stiler for bokstavstørrelse: camelCase, PascalCase, snake_case, SCREAMING_SNAKE_CASE, kebab-case og Title Case

Fylltekst, og filer telefonen din nekter å åpne

To gjøremål til fullfører settet. Layouter vurderes med fylltekst fordi ekte setninger trekker oppmerksomheten mot betydningen sin; lorem ipsum fungerer nettopp fordi det er nesten, men ikke helt, lesbar latin. Generatoren vår produserer det avsnitts-, setnings- eller ordvis, slik at en mockup kan fylles til realistiske lengder i stedet for én limt inn blokk gjentatt om og om igjen. Og når noen sender en .md-, .json-, .csv- eller .log-fil som telefonen nekter å åpne, viser en nettleserbasert tekstvisning den uten å installere en editor eller sende filen videre til et konverteringsnettsted. Alt over, telling inkludert, kjører helt i nettleseren din: teksten forlater aldri enheten din, noe som betyr mer enn vanlig når det du måler er et utkast, en kontrakt eller en logg full av interne stier.

Verktøy i denne artikkelen

Ofte stilte spørsmål

Hvor mange ord får plass på en side?

Forlagskonvensjonene regner med omtrent 500 ord for en side med enkel linjeavstand og omtrent 250 for en med dobbel linjeavstand, forutsatt en standard 12-punkts skrift på A4- eller letter-papir. Ekte dokumenter avviker fra disse tallene ved hver endring av skrift, marg eller overskrift, og det er derfor oppgaver og innleveringer i økende grad spesifiserer et ordtall i stedet for et sidetall. Hvis du allerede har teksten, tell den direkte og hopp over estimatet; sidekonvensjonene er bare nyttige før teksten finnes.

Hva betyr lorem ipsum egentlig?

Det er ommøblert latin, ikke sludder. Standardpassasjen er klippet og omstokket fra Ciceros De finibus bonorum et malorum, en filosofisk tekst fra 45 f.Kr.; fragmentet «dolorem ipsum» betyr «smerten selv». Ommøbleringen er selve poenget: teksten ligner naturlig språk, med troverdige ordlengder og setningsrytme, men motstår å bli lest, slik at betrakteren vurderer layouten i stedet for innholdet. Den moderne spredningen krediteres vanligvis Letraset-overføringsark på 1960-tallet og programvare for datastyrt sats på 1980-tallet.

Hvorfor teller en plattform færre tegn enn telleren min?

Fordi plattformer teller med sine egne vekter. X starter på 280, men fakturerer hver URL som 23 tegn og de fleste emojier og CJK-tegn som 2 hver. SMS-gatewayer bytter hele meldingen fra det 160-tegns GSM-7-alfabetet til den 70-tegns UCS-2-modusen så snart ett tegn krever det. Og enhver plattform kan telle kodeenheter i stedet for grafemer, så en enkelt familieemoji kan bruke opp 8 enheter av grensen. Når tallet på knappen ikke stemmer med telleren din, vinner reglene til plattformen; skriv med margin, eller sjekk med plattformens egen teller før du sender.

Kilder