Ingen uppladdning, 100% lokalt, inget konto

Artikel

Ord, tecken och skiftläge: så fungerar texträkning egentligen

Att räkna text låter som den enda uppgift en dator inte kan göra fel, men ändå kan två verktyg utan vidare ange olika antal för samma stycke, en emoji kan kosta dig 70 SMS-tecken, och «280 tecken» på X betyder inte riktigt vad det verkar. Bakom vardagssysslor som att skriva inom en gräns, döpa om variabler eller fylla en mockup finns några regler som är värda att känna till. Den här artikeln går igenom dem, med de små textverktygen på den här sajten som praktiska exempel.

Vad som räknas som ett ord

De flesta räknare, vår inräknad, definierar ett ord som maskinskrivare gör: en följd av synliga tecken mellan mellanslag eller radbrytningar. Redan den enda regeln förklarar de flesta meningsskiljaktigheter. Är «sms-meddelande» ett ord eller två? Vid uppdelning på mellanslag: ett. Är «e-post» ett ord eller två? Ett. Siffror, URL:er och e-postadresser räknas också var och en som ett ord. Konventionen faller samman för språk som skrivs utan mellanslag: i kinesiska eller japanska finns inget mellanslag att dela vid, så en «ordräkning» saknar mening och man bör räkna tecken i stället. Uppskattningar av lästid lägger på en andra konvention: vår ordräknare delar antalet ord med 200 ord per minut, ett vanligt genomsnitt för tyst läsning hos vuxna, så behandla resultatet som ett planeringstal, inte ett löfte.

Ett tecken är inte alltid en enda symbol

Teckenräkning är grumligare, eftersom Unicode-text har flera lager. Det du uppfattar som ett tecken (ett grafem) kan vara uppbyggt av flera kodpunkter, och varje kodpunkt upptar en eller två av de 16-bitarsenheter som JavaScripts length-egenskap räknar. Den flinande emojin är ett grafem men två av dessa enheter, så en naiv räknare säger 2. En familjeemoji som byggs genom att foga samman flera personemojier är ett grafem, fem kodpunkter och åtta enheter. Även vanlig text har det här problemet: «café» kan lagras med é som en enda kodpunkt eller som ett e följt av en kombinerande accent, identiskt på skärmen men olika i räkningen. Det är därför två räknare inte är överens: de mäter olika lager. Reglerna för att gruppera kodpunkter till tecken som användaren uppfattar är standardiserade i Unicodes bilaga om textsegmentering (UAX #29), och väl utformade räknare följer den.

Tre strängar mätta på tre Unicode-lager: en flinande emoji är 1 grafem och 2 UTF-16-enheter, en familjeemoji är 1 grafem, 5 kodpunkter och 8 enheter, och ett upplöst café är 4 grafem men 5 kodpunkter

Gränserna du egentligen räknar för

Teckengränser är där räkning blir pengar. Ett SMS rymmer 160 tecken i det kompakta GSM-7-alfabetet, men ett enda tecken utanför det (en emoji, eller en bokstav som alfabetet saknar) växlar hela meddelandet till UCS-2 och gränsen sjunker till 70; långa meddelanden delas upp i delar om 153 eller 67 tecken, var och en fakturerad separat. X tillåter 280 tecken per inlägg, men viktar dem: varje URL räknas som 23 oavsett dess faktiska längd, och de flesta emojier och CJK-tecken räknas som 2. Sökresultatsutdrag har i stället mjuka gränser: Google trunkerar titlar och beskrivningar efter pixelbredd, så de välkända siffrorna 60 tecken för titeln och 155 för beskrivningen är arbetskonventioner snarare än garantier. När en gräns verkligen spelar roll, räkna enligt samma regler som plattformen använder, och lämna marginal.

Skiftläge är en konvention, och varje stil har ett hem

Att ändra skiftläge låter trivialt tills man stöter på konventionerna som travas ovanpå det. Löpande text känner till Title Case, favoriserat i amerikanska rubriker, och sentence case, som de flesta europeiska stilguider föredrar. Kod har sina egna familjer: camelCase för variabler i JavaScript och Java, PascalCase för klass- och komponentnamn, snake_case i Python och databaser, SCREAMING_SNAKE_CASE för konstanter och kebab-case för CSS-klasser, filnamn och URL-slugs, där gemener undviker den klassiska fällan med länkar som bara skiljer sig åt i skiftläge. Att konvertera en handfull identifierare för hand är inga problem; att konvertera en lista med åttio är hur stavfel föds. En skiftlägesomvandlare tillämpar omvandlingen mekaniskt, inklusive de knepiga delarna som att avgöra vad som ska hända med förkortningar och befintliga avgränsare.

Frasen user profile page skriven i sex skiftlägesstilar: camelCase, PascalCase, snake_case, SCREAMING_SNAKE_CASE, kebab-case och Title Case

Utfyllnadstext, och filer som din telefon vägrar öppna

Två sysslor till fyller ut mängden. Layouter bedöms med utfyllnadstext eftersom riktiga meningar drar uppmärksamheten till sin betydelse; lorem ipsum fungerar just för att det är nästan, men inte helt, läsbar latin. Vår generator producerar det stycke-, mening- eller ordvis, så att en mockup kan fyllas till realistiska längder i stället för ett enda inklistrat block upprepat om och om igen. Och när någon skickar en .md-, .json-, .csv- eller .log-fil som telefonen vägrar öppna, visar en webbläsarbaserad textvisare den utan att installera en editor eller vidarebefordra filen till någon konverteringssajt. Allt ovan, räkning inräknad, körs helt i din webbläsare: texten lämnar aldrig din enhet, vilket spelar större roll än vanligt när det du mäter är ett utkast, ett kontrakt eller en logg full av interna sökvägar.

Verktyg i den här artikeln

Vanliga frågor

Hur många ord får plats på en sida?

Förlagskonventionerna talar om ungefär 500 ord för en enkelradsavstånds sida och ungefär 250 för en dubbelradsavstånds sida, förutsatt ett standardtypsnitt på 12 punkter på A4- eller letter-papper. Riktiga dokument avviker från de siffrorna vid varje ändring av typsnitt, marginal eller rubrik, vilket är varför uppgifter och inlämningar allt oftare anger en ordräkning i stället för ett sidantal. Om du redan har texten, räkna den direkt och hoppa över uppskattningen; sidkonventionerna är bara användbara innan texten finns.

Vad betyder lorem ipsum egentligen?

Det är omkastad latin, inte rappakalja. Standardpassagen är klippt och omordnad från Ciceros De finibus bonorum et malorum, en filosofisk text från 45 f.Kr.; fragmentet «dolorem ipsum» betyder «smärtan själv». Omkastningen är själva poängen: texten liknar naturligt språk, med rimliga ordlängder och meningsrytm, men motstår att läsas, så betraktare bedömer layouten i stället för innehållet. Dess moderna spridning tillskrivs vanligtvis Letraset-överföringsark på 1960-talet och programvara för datorstödd sättning på 1980-talet.

Varför räknar en plattform färre tecken än min räknare?

Eftersom plattformar räknar med sina egna vikter. X börjar på 280 men fakturerar varje URL som 23 tecken och de flesta emojier och CJK-tecken som 2 vardera. SMS-gateways växlar hela meddelandet från det 160-tecken GSM-7-alfabetet till det 70-tecken UCS-2-läget så fort ett tecken kräver det. Och vilken plattform som helst kan räkna kodenheter i stället för grafem, så en enda familjeemoji kan förbruka 8 enheter av gränsen. När siffran på knappen inte stämmer med din räknare vinner plattformens regler; skriv med marginal eller kontrollera med plattformens egen räknare innan du skickar.

Källor