Wklejone z dokumentu - wartości testowe
Znaki, które przychodzą razem z tekstem skopiowanym z edytora tekstu albo ze strony internetowej. 12 wartości, każda z tym, co psuje, i z tym, co zamiast tego robi poprawna aplikacja.
Wpisuj je po jednej skrótem AltShiftN
w palecie albo weź wszystkie do skryptu poleceniem nkb emit pasted-from-word.
Apostrof typograficzny
pasted-from-word/smart-apostrophe
O’Brien
O’Brien
- 7 grafemów
- 7 punktów kodowych
- 9 bajtów
- 7 jednostek UTF-16
- Co psuje
- Apostrof typograficzny przychodzi z każdym wklejeniem i jest innym znakiem niż ten z klawiatury. Wyszukiwanie nigdy go nie dopasuje.
- Co robi poprawna aplikacja
- Normalizowany przy zapisie albo obie postaci traktowane przez wyszukiwanie jako równoważne.
Cudzysłów drukarski
pasted-from-word/smart-quotes
“Jan”
“Jan”
- 5 grafemów
- 5 punktów kodowych
- 9 bajtów
- 5 jednostek UTF-16
- Co psuje
- Cudzysłów drukarski psuje parsery, składanie poleceń i każde porównanie z prostą postacią.
- Co robi poprawna aplikacja
- Przyjęty i zapisany, a normalizowany, zanim cokolwiek zacznie wartość parsować.
Pauza między słowami
pasted-from-word/em-dash
Jan—Kowalski
Jan — Kowalski
- 14 grafemów
- 14 punktów kodowych
- 16 bajtów
- 14 jednostek UTF-16
- Co psuje
- Długa kreska wklejona z dokumentu tam, gdzie oczekiwany był łącznik. Przestaje działać odczyt zakresów i dopasowywanie kodów.
- Co robi poprawna aplikacja
- Normalizowana przed odczytem albo przyjmowana jako równoważny separator.
Zakres z półpauzą
pasted-from-word/en-dash-range
2020–2026
2020–2026
- 9 grafemów
- 9 punktów kodowych
- 11 bajtów
- 9 jednostek UTF-16
- Co psuje
- Zakres, który wygląda poprawnie, a parser odczytuje go jako jeden nieznany element.
- Co robi poprawna aplikacja
- Tak samo jak wyżej.
Twarda spacja z dokumentu
pasted-from-word/nbsp-from-word
JanKowalski
Jan\u00A0Kowalski
- 1 spacja, która nie jest zwykłą spacją
- 12 grafemów
- 12 punktów kodowych
- 13 bajtów
- 12 jednostek UTF-16
- Co psuje
- Edytory tekstu same wstawiają twarde spacje. Wartość wygląda normalnie i nigdy nie pasuje do dokładnego wyszukiwania.
- Co robi poprawna aplikacja
- Zamieniana na zwykłą spację albo i tak znajdowana przez wyszukiwanie.
Miękki łącznik w środku słowa
pasted-from-word/soft-hyphen-pasted
Kowalski
Kowal\u00ADski
- 1 miękki łącznik
- 9 grafemów
- 9 punktów kodowych
- 10 bajtów
- 9 jednostek UTF-16
- Co psuje
- Miękkie łączniki przeżywają kopiowanie i niewidocznie dzielą słowo w zapisie.
- Co robi poprawna aplikacja
- Usuwany przy zapisie albo zachowany i pokazany w interfejsie.
Znak wielokropka
pasted-from-word/ellipsis-char
Jan…
Jan…
- 4 grafemy
- 4 punkty kodowe
- 6 bajtów
- 4 jednostki UTF-16
- Co psuje
- Jeden znak, który wygląda jak trzy kropki. Limity długości i porównania nie zgadzają się z tym, co widzi użytkownik.
- Co robi poprawna aplikacja
- Liczony jako jeden znak albo konsekwentnie zamieniany na trzy kropki.
Punktor z listy
pasted-from-word/bullet-char
•punkt
• punkt
- 7 grafemów
- 7 punktów kodowych
- 9 bajtów
- 7 jednostek UTF-16
- Co psuje
- Punktor wklejony z listy zamienia wartość w coś, co gdzie indziej rysuje się jak element listy.
- Co robi poprawna aplikacja
- Zapisany jako tekst, bez odczytywania go jako formatowania.
Łącznik nierozdzielający w kodzie
pasted-from-word/nonbreaking-hyphen
123‑456
123‑456
- 7 grafemów
- 7 punktów kodowych
- 9 bajtów
- 7 jednostek UTF-16
- Co psuje
- Łącznik nierozdzielający w środku kodu. Wygląda tak samo jak zwykły, a wszędzie indziej jest inny.
- Co robi poprawna aplikacja
- Normalizowany przed walidacją kodu.
Spacja o zerowej szerokości ze strony internetowej
pasted-from-word/zero-width-from-web
JanKowalski
Jan\u200BKowalski
- 1 znak o zerowej szerokości
- 12 grafemów
- 12 punktów kodowych
- 14 bajtów
- 12 jednostek UTF-16
- Co psuje
- Strony internetowe wstawiają znaki o zerowej szerokości dla układu. Przychodzą razem ze skopiowanym tekstem i zostają na zawsze.
- Co robi poprawna aplikacja
- Usuwane przy zapisie albo pokazane w interfejsie.
Wszystko, co wkleja dokument
pasted-from-word/multiple-typographic
“Jan”—O’Brien…
“Jan” — O’Brien…
- 16 grafemów
- 16 punktów kodowych
- 26 bajtów
- 16 jednostek UTF-16
- Co psuje
- Wszystko naraz, tak jak naprawdę przychodzi z dokumentu.
- Co robi poprawna aplikacja
- Przechodzi zapis i odczyt bez zmian i jest znajdowane przez wyszukiwanie wpisane z klawiatury.
Twarda spacja na końcu
pasted-from-word/trailing-nbsp
Kowalski
Kowalski\u00A0
- 1 spacja, która nie jest zwykłą spacją
- 9 grafemów
- 9 punktów kodowych
- 10 bajtów
- 9 jednostek UTF-16
- Co psuje
- Twarda spacja na końcu: niewidoczna, nieusuwana przez zwykłe przycinanie i wystarczająca, żeby zepsuć porównanie.
- Co robi poprawna aplikacja
- Przycinana razem ze zwykłymi białymi znakami.