fixmint
PL

Liczba znaków ze spacjami i bez: co liczy formularz

Autor: · · zaktualizowano 8 listopada 2026 · czas czytania: 4 min

Formularz, portal z CV, wiadomość SMS czy wpis w mediach społecznościowych liczy znaki na jeden z dwóch sposobów: ze spacjami albo bez nich. Najpierw przeczytaj etykietę pola lub tekst pomocy, bo często podają, który sposób obowiązuje. Jeśli nie podają żadnego, użyj surowszego liczenia, zwykle tego bez spacji. Emoji i niektóre litery z akcentami mogą też być liczone jako więcej niż jeden znak w systemach mierzących tekst w jednostkach kodu lub w bajtach, więc tekst może przejść w jednym liczniku, a w innym nie. Licz narzędziem, które stosuje tę samą zasadę co formularz.

Licznik słówCzy mój tekst przekracza limit?Zrób to za darmo

Ze spacjami czy bez nich

  • Ze spacjami liczy każdy wpisany znak, także każdą spację, jako jeden znak.
  • Bez spacji usuwa wszystkie białe znaki przed liczeniem, więc wyrazy zlewają się ze sobą. Wynik bez spacji w licznику słów i znaków usuwa każdy znak białej przestrzeni, w tym znaki nowej linii, tabulatory i twarde spacje, a potem liczy to, co zostało.

„Hello world” ma 11 znaków ze spacją i 10 bez niej. Pole, które prosi o znaki bez spacji, chce drugiej liczby.

Dlaczego jedno emoji może liczyć się jako dwa

Tekst ma dwa rodzaje długości. Pierwsza to ta, którą widzą ludzie: grafem, czyli jeden widoczny znak, nawet gdy składa się z kilku punktów kodowych. Druga to to, co zapisuje komputer. Długość łańcucha w JavaScript i wielu starszych systemach liczy jednostki kodu UTF-16. Większość liter zajmuje jedną jednostkę, ale znaki spoza Basic Multilingual Plane, w tym wiele emoji, zajmują dwie. Emoji kciuka w górę, U+1F44D, wygląda jak jeden znak, a ma dwie jednostki UTF-16, więc licznik oparty na jednostkach kodu pokaże 2.

Licznik słów i znaków tutaj liczy widoczne znaki, więc kciuk w górę to 1. Emoji rodziny też to 1, mimo że składa się z kilku punktów kodowych połączonych łącznikami zerowej szerokości (ZWJ). Formularz liczący jednostki kodu pokaże więcej, a różnica rośnie z każdym emoji w tekście.

Litery z akcentami

Literę é można zapisać na dwa sposoby. Jako jeden punkt kodowy, U+00E9, to wszędzie jedna jednostka. Jako literę e i po niej łączący akcent ostry, U+0301, to dwa punkty kodowe i dwie jednostki. Oba warianty wyglądają na ekranie identycznie. Licznik, który liczy punkty kodowe lub jednostki, poda 2 dla drugiej postaci, a licznik słów i znaków poda 1 dla obu.

Limity bajtów dodają kolejną różnicę. W UTF-8 é zajmuje dwa bajty, a większość emoji cztery. Pole z limitem bajtów może pomieścić mniej liter z akcentami lub emoji, niż sugeruje liczba znaków. Licznik słów i znaków nie pokazuje bajtów, więc oszacuj je osobno.

Znaki nowej linii i ukryte znaki

Znak nowej linii w polu tekstowym to jeden znak. Wiele systemów zapisuje jednak nowy wiersz w systemie Windows jako dwa znaki: powrót karetki (CR) i nowy wiersz (LF). Znaki nowej linii wysyłane przez formularze internetowe mają taką właśnie postać. Liczenie na serwerze może więc dać wyższy wynik, niż pokazuje pole, o jeden za każdy znak nowej linii. Licz tekst tak, jak zostanie wysłany, a nie tylko tak, jak go wpisałeś.

Spacje zerowej szerokości zachowują się inaczej. Liczenie bez spacji nie traktuje ich jako białych znaków, więc zostają w wyniku i go zawyżają. Najpierw użyj Usuwania ukrytych znaków. To narzędzie zachowuje tabulatory i znaki nowej linii, a twarde spacje zamienia na zwykłe, które liczenie bez spacji potem usuwa. Przewodnik po ukrytych znakach wyjaśnia, skąd się biorą.

Jeden tekst, pięć wyników

Weź słowo „Café”, spację i emoji kciuka w górę, U+1F44D, z é zapisanym jako jeden punkt kodowy. Różne miary dają różne sumy:

MiaraLiczba
Widoczne znaki, ze spacjami (licznik słów i znaków)6
Punkty kodowe6
Jednostki kodu UTF-16 (length w JavaScript)7
Bajty UTF-810
Widoczne znaki, bez spacji (licznik słów i znaków)5

Każda suma jest poprawna w swojej mierze. To formularz decyduje, która miara się liczy, dlatego zasada jest ważniejsza niż pojedyncza liczba.

Kroki

  1. Przeczytaj zasadę: czy liczą się znaki, bajty czy słowa oraz czy spacje wchodzą do wyniku.
  2. Oczyść tekst narzędziem Usuwanie ukrytych znaków, aby niewidoczne znaki nie zawyżały wyniku.
  3. Wklej tekst do licznika słów i znaków i odczytaj liczbę znaków oraz znaków bez spacji. Wiersze z limitami pokazują typowe limity, ale liczy się wartość, którą liczy formularz.
  4. Jeśli formularz liczy bajty, oszacuj je osobno, jak wyżej.
  5. Jeśli formularz pokazuje własny licznik na żywo, zaufaj jego wynikowi, a nie swojemu, i użyj tego narzędzia, by sprawdzić, skąd bierze się różnica.
  6. Jeśli zasada wciąż jest niejasna, zostaw margines. Limity liczby słów omawiają to samo pytanie dla słów i zasad platform.

Przypadki szczególne

  • Zasada platformy ma pierwszeństwo. Jeśli platforma ma własny licznik, dopasuj się do jej wyniku, a nie do ogólnego.
  • Spacje na końcu. Formularz może obcinać spacje na początku i na końcu pola, ale nie musi. Jedna spacja na końcu może zmienić wynik o jeden.
  • Skopiowany tekst. Tekst skopiowany ze strony internetowej może zawierać twarde spacje i niewidoczne znaki. Oczyść go Usuwaniem ukrytych znaków przed liczeniem.

Przetłumaczone z Wersja angielska przy wsparciu AI.

Komentarze

    Brak komentarzy. Bądź pierwszy.

    Twoja ocena (opcjonalnie)

    Twój e-mail nigdy nie jest pokazywany ani zapisywany.

    Okładka: How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 strony o przewagach człowieka: ekonomicznych i strategicznych, które pozostają rzadkie, gdy AI potrafi wykonać większość pracy umysłowej.

    $3.84Kup na GumroadPo angielsku