Bez przesyłania, 100% lokalnie, bez konta

Artykuł

Słowa, znaki i wielkość liter: jak naprawdę działa liczenie tekstu

Liczenie tekstu brzmi jak jedyne zadanie, w którym komputer nie może się pomylić, a jednak dwa narzędzia potrafią bez zająknięcia podać różne liczby dla tego samego akapitu, jedno emoji może kosztować cię 70 znaków SMS-a, a „280 znaków” na X nie znaczy tego, na co wygląda. Za codziennymi czynnościami jak pisanie w ramach limitu, zmiana nazw zmiennych czy wypełnianie makiety kryje się kilka reguł, które warto znać. Ten artykuł je omawia, wykorzystując jako przykłady drobne narzędzia tekstowe dostępne na tej stronie.

Co liczy się jako słowo

Większość liczników, w tym nasz, definiuje słowo tak jak maszynistki: jako ciąg widocznych znaków między spacjami lub złamaniami wiersza. Ta jedna reguła wyjaśnia już większość rozbieżności. Czy „biało-czerwony” to jedno słowo, czy dwa? Przy podziale na spacje: jedno. A „społeczno-gospodarczy”? Jedno. Liczby, adresy URL i adresy e-mail również liczą się każdy jako jedno słowo. Konwencja załamuje się w językach zapisywanych bez spacji: w chińskim czy japońskim nie ma spacji, po której można podzielić tekst, więc „liczba słów” traci sens i lepiej pracować na liczbie znaków. Szacowanie czasu czytania dokłada drugą konwencję: nasz licznik słów dzieli liczbę słów przez 200 słów na minutę, powszechną średnią dla cichego czytania dorosłych, więc traktuj wynik jako wartość orientacyjną, nie obietnicę.

Znak nie zawsze jest jednym symbolem

Liczenie znaków jest bardziej mętne, ponieważ tekst Unicode ma kilka warstw. To, co postrzegasz jako jeden znak (grafem), może składać się z kilku punktów kodowych, a każdy punkt kodowy zajmuje jedną lub dwie z 16-bitowych jednostek liczonych przez właściwość length w JavaScripcie. Emoji uśmiechniętej buzi to jeden grafem, ale dwie takie jednostki, więc naiwny licznik pokaże 2. Emoji rodziny, złożone z kilku emoji osób, to jeden grafem, pięć punktów kodowych i osiem jednostek. Nawet zwykły tekst ma ten problem: „café” można zapisać z é jako jednym punktem kodowym albo jako e z dołączonym znakiem diakrytycznym, identyczne na ekranie, różne w liczeniu. Dlatego dwa liczniki się nie zgadzają: mierzą różne warstwy. Reguły grupowania punktów kodowych w znaki postrzegane przez użytkownika są znormalizowane w aneksie Unicode dotyczącym segmentacji tekstu (UAX #29), a dobrze zaprojektowane liczniki się go trzymają.

Trzy ciągi znaków zmierzone na trzech warstwach Unicode: emoji uśmiechniętej buzi to 1 grafem i 2 jednostki UTF-16, emoji rodziny to 1 grafem, 5 punktów kodowych i 8 jednostek, a rozłożone café to 4 grafemy, ale 5 punktów kodowych

Limity, dla których naprawdę liczysz

Limity znaków to miejsce, gdzie liczenie zamienia się w pieniądze. SMS mieści 160 znaków w kompaktowym alfabecie GSM-7, ale pojedynczy znak spoza niego (emoji albo litera, której alfabet nie ma) przełącza całą wiadomość na UCS-2, a limit spada do 70; długie wiadomości dzielą się na części po 153 lub 67 znaków, każda rozliczana osobno. X pozwala na 280 znaków na post, ale je waży: każdy URL liczy się jako 23 znaki niezależnie od rzeczywistej długości, a większość emoji i znaków CJK liczy się jako 2. Fragmenty wyników wyszukiwania mają za to miękkie limity: Google przycina tytuły i opisy według szerokości w pikselach, więc znane liczby 60 znaków dla tytułu i 155 dla opisu to konwencje robocze, a nie gwarancje. Gdy limit naprawdę ma znaczenie, licz według tych samych reguł, których używa platforma, i zostaw margines.

Wielkość liter to konwencja, a każdy styl ma swoje miejsce

Zmiana wielkości liter brzmi banalnie, dopóki nie natrafisz na piętrzące się konwencje. Proza zna Title Case, ulubiony przez amerykańskie nagłówki, oraz sentence case, preferowany przez większość europejskich przewodników stylu. Kod ma własne rodziny: camelCase dla zmiennych w JavaScripcie i Javie, PascalCase dla nazw klas i komponentów, snake_case w Pythonie i bazach danych, SCREAMING_SNAKE_CASE dla stałych oraz kebab-case dla klas CSS, nazw plików i slugów URL, gdzie małe litery unikają klasycznej pułapki linków różniących się tylko wielkością liter. Ręczna konwersja garści identyfikatorów jest w porządku; konwersja listy osiemdziesięciu to sposób, w jaki rodzą się literówki. Konwerter wielkości liter stosuje przekształcenie mechanicznie, łącznie z drobiazgami takimi jak decydowanie, co zrobić z akronimami i istniejącymi separatorami.

Fraza user profile page zapisana w sześciu stylach wielkości liter: camelCase, PascalCase, snake_case, SCREAMING_SNAKE_CASE, kebab-case i Title Case

Tekst wypełniający i pliki, których telefon nie chce otworzyć

Zestaw dopełniają jeszcze dwie czynności. Układy ocenia się na podstawie tekstu zastępczego, ponieważ prawdziwe zdania odciągają uwagę ku swojemu znaczeniu; lorem ipsum działa właśnie dlatego, że jest niemal, ale nie do końca, czytelną łaciną. Nasz generator tworzy go akapitami, zdaniami lub słowami, dzięki czemu makietę można wypełnić realistycznymi długościami zamiast powtarzać jeden wklejony blok. A gdy ktoś wysyła plik .md, .json, .csv lub .log, którego telefon nie chce otworzyć, przeglądarka tekstu działająca w przeglądarce internetowej pokazuje go bez instalowania edytora czy przesyłania pliku do jakiejś strony konwertującej. Wszystko powyższe, łącznie z liczeniem, działa w całości w twojej przeglądarce: tekst nigdy nie opuszcza twojego urządzenia, co ma większe znaczenie niż zwykle, gdy to, co mierzysz, to szkic, umowa albo log pełen wewnętrznych ścieżek.

Narzędzia w tym artykule

Najczęściej zadawane pytania

Ile słów mieści się na jednej stronie?

Konwencje wydawnicze mówią o około 500 słowach na stronę z pojedynczym odstępem i około 250 na stronę z podwójnym odstępem, zakładając standardową 12-punktową czcionkę na papierze A4 lub letter. Rzeczywiste dokumenty odbiegają od tych liczb przy każdej zmianie czcionki, marginesu czy nagłówka, dlatego zadania i zgłoszenia coraz częściej określają liczbę słów zamiast liczby stron. Jeśli masz już tekst, policz go bezpośrednio i pomiń szacowanie; konwencje dotyczące stron są przydatne tylko zanim tekst powstanie.

Co właściwie znaczy lorem ipsum?

To pomieszana łacina, nie bełkot. Standardowy fragment jest wycięty i przetasowany z De finibus bonorum et malorum Cycerona, tekstu filozoficznego z 45 roku p.n.e.; fragment „dolorem ipsum” znaczy „sam ból”. Sens tkwi właśnie w przetasowaniu: tekst wygląda jak naturalny język, z wiarygodnymi długościami słów i rytmem zdań, ale opiera się czytaniu, więc widzowie oceniają układ, a nie treść. Jego współczesne rozpowszechnienie zwykle przypisuje się arkuszom transferowym Letraset w latach 60. i oprogramowaniu do składu komputerowego w latach 80.

Dlaczego platforma liczy mniej znaków niż mój licznik?

Ponieważ platformy liczą według własnych wag. X zaczyna od 280, ale rozlicza każdy URL jako 23 znaki, a większość emoji i znaków CJK jako 2 każdy. Bramki SMS przełączają całą wiadomość z 160-znakowego alfabetu GSM-7 na 70-znakowy tryb UCS-2, gdy tylko wymaga tego jeden znak. A każda platforma może liczyć jednostki kodowe zamiast grafemów, więc pojedyncze emoji rodziny może pochłonąć 8 jednostek limitu. Gdy liczba na przycisku nie zgadza się z twoim licznikiem, wygrywają reguły platformy; pisz z zapasem albo sprawdź licznikiem samej platformy przed wysłaniem.

Źródła