Cudzysłowy i myślniki psują kod: jak je wyprostować
Typograficzne cudzysłowy, apostrofy, półpauzy i pauzy oraz twarde spacje wyglądają jak ich zwykłe odpowiedniki, ale komputer traktuje je jako inne znaki. Kod, pliki CSV, formuły w arkuszach i wiersze poleceń oczekują zwykłych. Wklejony cudzysłów przestaje być częścią ciągu znaków, podwójny myślnik w fladze zamienia się w pauzę, a twarda spacja może sprawić, że program nie odczyta wiersza. Zanim wkleisz tekst do kodu, wyprostuj znaki, a potem sprawdź wynik tam, gdzie będzie działał.
Popraw wklejony tekstWklejony tekst ma połamane wierszeZrób to za darmoSkąd biorą się te znaki
Edytory tekstu i wiele programów pocztowych zamienia proste cudzysłowy na typograficzne już podczas pisania. Nazywa się to inteligentnymi cudzysłowami. Word potrafi też zamienić dwa myślniki w pauzę. Strony internetowe i niektóre edytory wstawiają twarde spacje, U+00A0, które nie pozwalają rozdzielić dwóch słów w wierszu. Te znaki są poprawne typograficznie, dlatego się pojawiają. Są jednak błędne we wszystkim, co czyta program.
Co się psuje i gdzie
| Miejsce | Co idzie nie tak |
|---|---|
| Kod źródłowy | Typograficzne cudzysłowy nie ograniczają ciągów znaków, a wiele języków odrzuca typograficzny cudzysłów lub twardą spację poza ciągiem |
| Polecenia powłoki | Pauza wpisana zamiast myślnika nie jest znacznikiem opcji, więc program widzi nieznany argument |
| Pliki CSV | Parsery otaczają pola prostymi cudzysłowami, więc typograficzne nie chronią przecinka w polu |
| Formuły w arkuszach | Typograficzne cudzysłowy stają się częścią tekstu albo formuła zgłasza błąd |
| JSON | Typograficzne cudzysłowy nie są prawidłowymi ogranicznikami ciągów, więc parser kończy się błędem |
Zasady cytowania stosowane w plikach CSV opisuje poradnik CSV do JSON.
Wyprostuj je w fixmint
Trzy narzędzia obejmują typowe przypadki, a każde obsługuje inny zestaw znaków.
- Cudzysłowy typograficzne. Otwórz popraw wklejony tekst i zaznacz Wyprostuj cudzysłowy typograficzne. Narzędzie zamienia typograficzne pojedyncze cudzysłowy i apostrofy na prosty pojedynczy cudzysłów, a typograficzne podwójne cudzysłowy na proste podwójne. Myślników nie rusza. Pozostałe opcje, na przykład przycinanie wierszy i scalanie powtórzonych spacji, są domyślnie zaznaczone.
- Myślniki, wielokropki i dziwne spacje. Otwórz usuwanie ukrytych znaków i zaznacz Zamień też cudzysłowy typograficzne, pauzy i … na zwykły ASCII. Pauzy zmienią się w łącznik, a wielokropek w trzy kropki. Twarde spacje domyślnie zamieniają się w zwykłe spacje. Widok z oznaczeniami pokazuje, gdzie wprowadzono każdą zmianę.
- Jeden znak lub fraza. Otwórz znajdź i zamień, zostaw wyłączone wyrażenia regularne i wpisz znak w polu Znajdź, a jego zwykłą wersję w polu Zamień. Gdy wyrażenia regularne są wyłączone, pole Znajdź działa dosłownie, więc typograficzny cudzysłów pasuje tylko do samego siebie.
Oto drugie narzędzie zastosowane do typowego wklejenia:
| Przed | Po |
|---|---|
| “Hello,” she said. | "Hello," she said. |
| It’s done. | It's done. |
| —verbose | -verbose |
Ostatni wiersz pokazuje ograniczenie. Każda pauza zmienia się w jeden łącznik, więc podwójny myślnik, który edytor połączył w jedną pauzę, wraca jako pojedynczy łącznik. Flagi takie jak --verbose popraw ręcznie po konwersji.
Wklej wynik tam, gdzie będzie działał, i przetestuj go na miejscu. Prostowanie nie zmienia znaczenia tekstu, więc udane uruchomienie jest prawdziwym sprawdzianem.
Sprawdź wynik
Przepuść wyprostowany tekst jeszcze raz przez usuwanie ukrytych znaków i przeczytaj widok z oznaczeniami. Każde oznaczenie, które zostało, to znak, którego pierwszy przebieg nie objął, na przykład spacja o zerowej szerokości albo nietypowa spacja. Widok z oznaczeniami pokazuje, gdzie znajduje się każdy z nich, więc możesz go poprawić na miejscu.
Na ekranie te znaki wyglądają prawie identycznie, więc kontrola wzrokowa ich nie wychwyci. Prosty i typograficzny cudzysłów różnią się kształtem tylko nieznacznie, a w wielu krojach pisma pauza wygląda jak łącznik. Sprawdzaj tekst, a nie swoje oczy.
Kiedy nie prostować
Zachowaj typograficzne cudzysłowy i myślniki w tekstach, które ludzie czytają w druku lub na stronie internetowej. Tam są właściwą typografią. Prostuj tylko treść, która trafi do kodu, pliku CSV, formuły lub polecenia. Przy tekście pisanym w edytorze wyłącz opcję inteligentnych cudzysłowów, jeśli później zamierzasz wkleić go do kodu.
Przypadki szczególne
- Mieszane cudzysłowy. Dokument może łączyć typograficzne i proste cudzysłowy. Uruchom wyprostowanie raz, a potem przeszukaj wynik pod kątem pozostałych, bo źródła bywają różne.
- Apostrofy w wyrazach. Typograficzny apostrof w skrócie zmienia się w prosty, czego oczekuje większość kodu. Sprawdź skróty występujące wewnątrz ciągów znaków.
- Zachowaj oryginał. Prostowanie działa tylko w jedną stronę: prosty cudzysłów nie powie, z którego typograficznego pochodzi. Zachowaj oryginalny dokument i zmieniaj kopię.
- Myślniki w zdaniach. Pauza użyta jako przerwa w zdaniu zmienia się w łącznik, więc „czekaj — zatrzymaj się” staje się „czekaj - zatrzymaj się”. Jeśli tekst ma być czytany, a nie wykorzystany w kodzie, popraw go ręcznie.
- Niewidoczne znaki. Wklejony tekst może zawierać też spacje o zerowej szerokości. Nie są cudzysłowami, ale psują kod w podobny sposób. Opisuje je poradnik o ukrytych znakach.
Przetłumaczone z Wersja angielska przy wsparciu AI.
Komentarze
Brak komentarzy. Bądź pierwszy.


