Počet znaků s mezerami i bez nich: který formulář používá
Formulář, portál pro životopisy, SMS nebo příspěvek na sociální síti počítá znaky jedním ze dvou způsobů: se mezerami, nebo bez nich. Nejdřív si přečtěte popisek pole nebo nápovědu, protože většinou je uvedeno, který způsob platí. Pokud to uvedeno není, použijte přísnější počítání, což bývá počet bez mezer. Emoji a některá písmena s diakritikou mohou v systémech, které měří text v kódových jednotkách nebo bajtech, počítat jako více znaků. Text tak může projít v jednom počítadle a v jiném neprojít. Počítejte nástrojem, který se řídí stejným pravidlem jako formulář.
Počítadlo slov a znakůJe můj text přes limit?Vyzkoušet zdarmaS mezerami, nebo bez nich
- S mezerami počítá každý zadaný znak včetně každé mezery jako jeden znak.
- Bez mezer před počítáním odstraní všechny bílé znaky, takže slova splynou dohromady. Údaj bez mezer v počítadle slov odstraní každý bílý znak, včetně nových řádků, tabulátorů a nedělitelných mezer, a pak spočítá, co zbylo.
„Hello world“ má s mezerou 11 znaků a bez ní 10. Pole, které žádá znaky bez mezer, potřebuje druhé číslo.
Proč jedno emoji může počítat jako dva znaky
Text má dva druhy délky. První je ta, kterou lidé vidí: grafémový shluk, tedy jeden viditelný znak, i když ho tvoří několik kódových bodů. Druhou délku ukládá počítač. Délka řetězce v JavaScriptu a mnoha starších systémech se počítá v kódových jednotkách UTF-16. Většina písmen má jednu jednotku, ale znaky mimo Základní vícejazykovou rovinu (BMP), mezi nimi i mnoho emoji, mají jednotky dvě. Emoji palec nahoru, U+1F44D, vypadá jako jeden znak, ale má dvě jednotky UTF-16. Počítadlo, které pracuje s kódovými jednotkami, tedy ukáže 2.
Zdejší počítadlo slov počítá viditelné znaky, takže emoji palec nahoru je 1. Emoji rodiny je také 1, i když jde o několik kódových bodů spojených spojkami nulové šířky. Formulář, který počítá kódové jednotky, ukáže více, a rozdíl roste s každým emoji v textu.
Písmena s diakritikou
Písmeno é lze uložit dvěma způsoby. Jako jeden kódový bod, U+00E9, je to všude jedna jednotka. Jako písmeno e následované kombinujícím akutním přízvukem, U+0301, jsou to dva kódové body a dvě jednotky. Na obrazovce vypadají oba způsoby stejně. Počítadlo, které počítá kódové body nebo jednotky, dá u druhého způsobu 2, zatímco počítadlo slov dá u obou 1.
Limity v bajtech přidávají další rozdíl. V UTF-8 zabere é dva bajty a většina emoji čtyři. Pole s limitem v bajtech tak může pojmout méně písmen s diakritikou nebo emoji, než naznačuje počet znaků. Počítadlo slov bajty nezobrazuje, proto je odhadněte zvlášť.
Konce řádků a skryté znaky
Konec řádku je v textovém poli jeden znak. Mnoho systémů však ukládá konec řádku ve Windows jako dva znaky, návrat vozíku a posun řádku, a odeslaná data z webových formulářů jsou v tomto tvaru. Počet spočítaný na serveru tak může být vyšší, než naznačuje pole, a to o jeden za každý konec řádku. Počítejte text tak, jak bude odeslán, ne jen tak, jak jste ho napsali.
Mezery nulové šířky se chovají jinak. Počet bez mezer je nepovažuje za bílé znaky, takže zůstávají v počtu a ten nafukují. Nejdřív odstraňte skryté znaky. Tento nástroj zachovává tabulátory a konce řádků a mění nedělitelné mezery na běžné mezery, které pak počet bez mezer odstraní. Průvodce skrytými znaky vysvětluje, odkud se tyto znaky berou.
Jeden text, pět počtů
Vezměte slovo „Café“, mezeru a emoji palec nahoru, U+1F44D, přičemž é je uloženo jako jeden kódový bod. Různá měření dávají různé součty:
| Měřítko | Počet |
|---|---|
| Viditelné znaky, s mezerami (počítadlo slov) | 6 |
| Kódové body | 6 |
| Kódové jednotky UTF-16 (délka v JavaScriptu) | 7 |
| Bajty v UTF-8 | 10 |
| Viditelné znaky, bez mezer (počítadlo slov) | 5 |
Každý součet je správný pro své měření. Rozhoduje formulář, které měření platí, a proto je pravidlo důležitější než jakékoli jediné číslo.
Postup
- Přečtěte si pravidlo: znaky, bajty, nebo slova, a zda se počítají mezery.
- Vyčistěte text pomocí odstranit skryté znaky, aby neviditelné znaky počet nenafukovaly.
- Vložte text do počítadla slov a přečtěte si počet znaků a počet znaků bez mezer. Řádky s limity ukazují běžné limity, ale použijte to číslo, které počítá formulář.
- Pokud formulář počítá bajty, odhadněte je zvlášť, jak je popsáno výše.
- Pokud formulář zobrazuje vlastní živé počítadlo, věřte jeho údaji více než svému, a pokud se údaje liší, použijte tento nástroj a zjistěte proč.
- Pokud pravidlo zůstává nejasné, nechte si rezervu. Limity počtu slov se věnují stejné otázce pro slova a pravidla platforem.
Okrajové případy
- Rozhoduje pravidlo platformy. Pokud platforma má vlastní počítadlo, řiďte se jeho údajem, a ne obecným.
- Mezery na konci. Formulář může odstraňovat mezery na koncích pole, ale nemusí. Jedna mezera na konci může počet změnit o jedna.
- Zkopírovaný text. Text zkopírovaný z webové stránky může obsahovat nedělitelné mezery a neviditelné znaky. Před počítáním ho vyčistěte pomocí odstranit skryté znaky.
Přeloženo z Anglický originál s pomocí AI.
Komentáře
Zatím žádné komentáře. Buďte první.


