Κυρτά εισαγωγικά και παύλες χαλάνε τον κώδικα: πώς να τα κάνετε ευθεία
Τα κυρτά εισαγωγικά, τα κυρτά apostrophes, οι παύλες en και em και τα μη διακοπτόμενα κενά μοιάζουν με τις απλές εκδόσεις τους, αλλά ο υπολογιστής τα αντιμετωπίζει ως διαφορετικούς χαρακτήρες. Ο κώδικας, τα αρχεία CSV, οι τύποι των λογιστικών φύλλων και οι γραμμές εντολών περιμένουν τους απλούς. Ένα επικολλημένο εισαγωγικό παύει να είναι συμβολοσειρά, μια διπλή παύλα σε μια επιλογή μετατρέπεται σε παύλα, και ένα μη διακοπτόμενο κενό μπορεί να εμποδίσει ένα πρόγραμμα να διαβάσει μια γραμμή. Ισιώστε τους χαρακτήρες πριν επικολλήσετε σε κώδικα και μετά ελέγξτε το αποτέλεσμα εκεί όπου θα τρέξει.
Διόρθωση επικολλημένου κειμένουΚείμενο με σπασμένες γραμμέςΚάντε το δωρεάνΑπό πού προέρχονται οι χαρακτήρες
Οι επεξεργαστές κειμένου και πολλά προγράμματα email αντικαθιστούν τα ευθεία εισαγωγικά με κυρτά καθώς γράφετε. Αυτό λέγεται έξυπνα εισαγωγικά. Το Word μπορεί επίσης να μετατρέψει δύο παύλες σε μία παύλα. Οι ιστοσελίδες και ορισμένοι επεξεργαστές εισάγουν μη διακοπτόμενα κενά, U+00A0, που κρατούν δύο λέξεις στην ίδια γραμμή. Αυτοί οι χαρακτήρες είναι σωστοί για την τυπογραφία, γι' αυτό εμφανίζονται. Είναι όμως λάθος για οτιδήποτε διαβάζει ένα πρόγραμμα.
Τι σπάει και πού
| Πού | Τι πάει στραβά |
|---|---|
| Πηγαίος κώδικας | Τα κυρτά εισαγωγικά δεν οριοθετούν συμβολοσειρές, και πολλές γλώσσες απορρίπτουν ένα κυρτό εισαγωγικό ή ένα μη διακοπτόμενο κενό εκτός συμβολοσειράς |
| Εντολές shell | Μια παύλα en που πληκτρολογείται δεν είναι δείκτης επιλογής, οπότε το πρόγραμμα βλέπει άγνωστο όρισμα |
| Αρχεία CSV | Οι αναλυτές τυλίγουν τα πεδία σε ευθεία διπλά εισαγωγικά, οπότε τα κυρτά εισαγωγικά δεν προστατεύουν ένα κόμμα μέσα σε πεδίο |
| Τύποι λογιστικών φύλλων | Τα κυρτά εισαγωγικά γίνονται μέρος του κειμένου, ή ο τύπος εμφανίζει σφάλμα |
| JSON | Τα κυρτά εισαγωγικά δεν είναι έγκυρα οριοθετικά συμβολοσειρών, οπότε ο αναλυτής αποτυγχάνει |
Για τους κανόνες παραθεματοποίησης που ακολουθούν τα αρχεία CSV, δείτε τον οδηγό CSV σε JSON.
Ισιώστε τα στο fixmint
Τρία εργαλεία καλύπτουν τις συνηθισμένες περιπτώσεις, και το καθένα χειρίζεται διαφορετικό σύνολο χαρακτήρων.
- Κυρτά εισαγωγικά. Ανοίξτε τη διόρθωση επικολλημένου κειμένου και επιλέξτε Μετατροπή κυρτών εισαγωγικών σε ευθεία. Μετατρέπει τα κυρτά μονά εισαγωγικά και τα κυρτά apostrophes σε ευθύ μονό εισαγωγικό, και τα κυρτά διπλά εισαγωγικά σε ευθέα διπλά. Αφήνει ανέγγιχτες τις παύλες. Οι άλλες επιλογές του, όπως η αφαίρεση κενών στην αρχή και στο τέλος των γραμμών και η συμπύκνωση επαναλαμβανόμενων κενών, είναι επιλεγμένες από προεπιλογή.
- Παύλες, αποσιωπητικά και περίεργα κενά. Ανοίξτε την αφαίρεση αόρατων χαρακτήρων και επιλέξτε Μετατροπή και των κυρτών εισαγωγικών, των παύλων en/em και του … σε απλό ASCII. Οι παύλες γίνονται ένα ενωτικό και το αποσιωπητικό γίνεται τρεις τελείες. Τα μη διακοπτόμενα κενά γίνονται κανονικά κενά από προεπιλογή. Η σημειωμένη προβολή δείχνει πού έγινε κάθε αλλαγή.
- Ένας χαρακτήρας ή φράση. Ανοίξτε την εύρεση και αντικατάσταση, αφήστε απενεργοποιημένο το Regex και πληκτρολογήστε τον χαρακτήρα στο πεδίο Εύρεση και την απλή του μορφή στο πεδίο Αντικατάσταση. Με απενεργοποιημένο το Regex, το πεδίο Εύρεση είναι κυριολεκτικό, οπότε ένα κυρτό εισαγωγικό ταιριάζει μόνο με τον εαυτό του.
Εδώ είναι το δεύτερο εργαλείο εφαρμοσμένο σε μια τυπική επικόλληση:
| Πριν | Μετά |
|---|---|
| “Hello,” she said. | "Hello," she said. |
| It’s done. | It's done. |
| —verbose | -verbose |
Η τελευταία γραμμή δείχνει ένα όριο. Κάθε παύλα γίνεται ένα ενωτικό, οπότε μια διπλή παύλα που το Word συγχώνευσε σε μία παύλα em επιστρέφει ως ένα ενωτικό. Διορθώστε χειροκίνητα επιλογές όπως το --verbose μετά τη μετατροπή.
Επικολλήστε το αποτέλεσμα εκεί όπου θα τρέξει και ελέγξτε το εκεί. Το ίσιωμα δεν αλλάζει το νόημα του κειμένου, οπότε μια επιτυχής εκτέλεση είναι ο πραγματικός έλεγχος.
Ελέγξτε το αποτέλεσμα
Περάστε ξανά το ισιωμένο κείμενο από την αφαίρεση αόρατων χαρακτήρων και διαβάστε τη σημειωμένη προβολή. Κάθε σήμανση που μένει είναι χαρακτήρας που δεν κάλυψε το πρώτο πέρασμα, όπως ένα κενό μηδενικού πλάτους ή ένα ασυνήθιστο κενό. Η σημειωμένη προβολή δείχνει πού βρίσκεται το καθένα, ώστε να το διορθώσετε επιτόπου.
Οι χαρακτήρες μοιάζουν σχεδόν απολύτως ίδιοι στην οθόνη, οπότε ένας οπτικός έλεγχος τους χάνει. Ένα ευθύ και ένα κυρτό εισαγωγικό διαφέρουν ελάχιστα στο σχήμα, και μια παύλα en μοιάζει με ενωτικό σε πολλές γραμματοσειρές. Ελέγξτε το κείμενο με δοκιμή, όχι με τα μάτια σας.
Πότε να μην τα ισιώνετε
Κρατήστε τα κυρτά εισαγωγικά και τις παύλες σε κείμενο που διαβάζουν άνθρωποι σε έντυπη μορφή ή σε ιστοσελίδα. Εκεί είναι η σωστή τυπογραφία. Ισιώστε μόνο το κείμενο που θα μπει σε κώδικα, CSV, τύπο ή εντολή. Για κείμενο που γράφετε σε επεξεργαστή, απενεργοποιήστε την επιλογή των έξυπνων εισαγωγικών αν σκοπεύετε να το επικολλήσετε αργότερα σε κώδικα.
Ειδικές περιπτώσεις
- Μικτά εισαγωγικά. Ένα έγγραφο μπορεί να συνδυάζει κυρτά και ευθεία εισαγωγικά. Εκτελέστε το βήμα ισιώματος μία φορά και μετά αναζητήστε στο αποτέλεσμα όσα έχουν απομείνει, γιατί οι πηγές διαφέρουν.
- Apostrophes μέσα σε λέξεις. Ένα κυρτό apostrophe σε συστολή γίνεται ευθύ, που είναι ό,τι περιμένει ο περισσότερος κώδικας. Ελέγξτε τις συστολές που εμφανίζονται μέσα σε συμβολοσειρά.
- Κρατήστε το πρωτότυπο. Το ίσιωμα είναι μονόδρομο: ένα ευθύ εισαγωγικό δεν μπορεί να σας πει από ποιο κυρτό προήλθε. Κρατήστε το αρχικό έγγραφο και κάντε την αλλαγή σε αντίγραφο.
- Παύλες μέσα σε προτάσεις. Μια παύλα em που χρησιμοποιείται ως διακοπή μέσα σε πρόταση γίνεται ενωτικό, οπότε το «wait — stop» γίνεται «wait - stop». Γράψτε το ξανά χειροκίνητα αν το κείμενο προορίζεται για ανάγνωση και όχι για κώδικα.
- Αόρατοι χαρακτήρες. Το επικολλημένο κείμενο μπορεί επίσης να περιέχει κενά μηδενικού πλάτους. Δεν είναι εισαγωγικά, αλλά σπάνε τον κώδικα με παρόμοιο τρόπο. Ο οδηγός για τους κρυφούς χαρακτήρες τους καλύπτει.
Μετάφραση από το Αγγλικό πρωτότυπο με τη βοήθεια τεχνητής νοημοσύνης.
Σχόλια
Δεν υπάρχουν σχόλια ακόμη. Γίνετε οι πρώτοι.


