Virgolette curve e trattini rompono il codice: come raddrizzarli
Apostrofi e virgolette curvi, trattini di media e lunga durata e spazi unificatori sembrano uguali alle versioni semplici, ma per il computer sono caratteri diversi. Codice, file CSV, formule dei fogli di calcolo e righe di comando si aspettano quelli semplici. Una citazione incollata smette di essere una stringa, un doppio trattino in un parametro diventa un trattino lungo e uno spazio unificatore può impedire a un programma di leggere una riga. Raddrizza i caratteri prima di incollare nel codice, poi verifica il risultato dove verrà eseguito.
Correggi testo incollatoIl testo incollato ha righe spezzateUsalo gratisDa dove arrivano i caratteri
Gli elaboratori di testo e molti programmi di posta sostituiscono le virgolette dritte con quelle curve mentre scrivi. Si chiama smart quotes. Word può anche trasformare due trattini in un trattino lungo. Le pagine web e alcuni editor inseriscono spazi unificatori, U+00A0, che tengono insieme due parole sulla stessa riga. Questi caratteri sono corretti per la tipografia, ed è per questo che compaiono. Sono sbagliati per qualsiasi cosa venga letta da un programma.
Che cosa si rompe, e dove
| Dove | Che cosa va storto |
|---|---|
| Codice sorgente | Le virgolette curve non delimitano le stringhe, e molti linguaggi rifiutano una virgoletta curva o uno spazio unificatore fuori da una stringa |
| Comandi della shell | Un trattino digitato come trattino di media non è il marcatore di opzione, quindi il programma riceve un argomento sconosciuto |
| File CSV | I parser racchiudono i campi tra virgolette doppie dritte, quindi le virgolette curve non proteggono una virgola all'interno di un campo |
| Formule dei fogli di calcolo | Le virgolette curve diventano parte del testo, oppure la formula restituisce un errore |
| JSON | Le virgolette curve non sono delimitatori validi di stringa, quindi il parser fallisce |
Per le regole di citazione seguite dai file CSV, consulta la guida da CSV a JSON.
Raddrizzali in fixmint
Tre strumenti coprono i casi più comuni, e ognuno gestisce un insieme diverso di caratteri.
- Virgolette curve. Apri correggi testo incollato e seleziona Raddrizza le virgolette curve. Trasforma gli apostrofi e le virgolette singole curve in una virgoletta singola dritta, e le virgolette doppie curve in virgolette doppie dritte. Lascia invariati i trattini. Le altre opzioni, come eliminare gli spazi a inizio e fine riga e ridurre gli spazi ripetuti, sono selezionate per impostazione predefinita.
- Trattini, puntini di sospensione e spazi particolari. Apri rimuovi caratteri nascosti e seleziona Converti anche le virgolette curve, i trattini di media e lunga e … in ASCII semplice. I trattini diventano un trattino normale e i puntini di sospensione diventano tre punti. Per impostazione predefinita gli spazi unificatori diventano spazi normali. La vista con evidenziazioni mostra dove è stata fatta ogni modifica.
- Un carattere o una frase. Apri trova e sostituisci, lascia disattivato Regex e scrivi il carattere nel campo Trova e la sua versione semplice nel campo Sostituisci. Con Regex disattivato, il campo Trova è letterale, quindi una virgoletta curva corrisponde solo a se stessa.
Ecco il secondo strumento applicato a un testo incollato tipico:
| Prima | Dopo |
|---|---|
| “Ciao,” disse lei. | "Ciao," disse lei. |
| It’s done. | It's done. |
| —verbose | -verbose |
L'ultima riga mostra un limite. Ogni trattino diventa un solo trattino normale, quindi un doppio trattino che un elaboratore di testo ha unito in un unico trattino lungo torna come singolo trattino. Correggi a mano i parametri come --verbose dopo la conversione.
Incolla il risultato dove verrà eseguito e verificalo lì. Raddrizzare i caratteri non cambia il significato del testo, quindi un'esecuzione riuscita è la vera prova.
Verifica il risultato
Passa di nuovo il testo raddrizzato in rimuovi caratteri nascosti e leggi la vista con evidenziazioni. Ogni segno rimasto è un carattere che il primo passaggio non ha coperto, come uno spazio di larghezza zero o uno spazio insolito. La vista con evidenziazioni mostra dove si trova ciascuno, così puoi correggerlo sul posto.
I caratteri sembrano quasi identici sullo schermo, quindi un controllo visivo non li individua. Una virgoletta dritta e una curva differiscono solo leggermente nella forma, e in molti caratteri un trattino di media sembra un trattino normale. Verifica il testo, non i tuoi occhi.
Quando non raddrizzare
Mantieni le virgolette e i trattini curvi nei testi che le persone leggono su carta o su una pagina web. Lì sono la tipografia corretta. Raddrizza solo il testo che finisce in codice, in un CSV, in una formula o in un comando. Per i testi che scrivi in un elaboratore di testo, disattiva l'opzione smart quotes se in seguito li incollerai nel codice.
Casi particolari
- Virgolette miste. Un documento può contenere virgolette curve e dritte insieme. Esegui il passaggio di raddrizzamento una volta, poi cerca nel risultato quelle che restano, perché le fonti sono diverse.
- Apostrofi nelle parole. Un apostrofo curvo nelle contrazioni diventa dritto, che è ciò che la maggior parte del codice si aspetta. Controlla le contrazioni che compaiono all'interno di una stringa.
- Conserva l'originale. Il raddrizzamento è a senso unico: una virgoletta dritta non può dirti da quale virgoletta curva deriva. Conserva il documento originale e applica la modifica su una copia.
- Trattini nelle frasi. Un trattino lungo usato come pausa in una frase diventa un trattino normale, quindi "aspetta — fermati" diventa "aspetta - fermati". Riscrivilo a mano se il testo è da leggere e non da eseguire come codice.
- Caratteri invisibili. Il testo incollato può contenere anche spazi di larghezza zero. Non sono virgolette, ma rompono il codice in modo simile. La guida ai caratteri nascosti ne parla nel dettaglio.
Tradotto dal Originale in inglese con l'assistenza dell'IA.
Commenti
Nessun commento per ora. Sii il primo.


