Κωδικοποιητής URL / Αποκωδικοποιητής
Κωδικοποιήστε και αποκωδικοποιήστε διευθύνσεις URL και στοιχεία URI αμέσως στο πρόγραμμα περιήγησής σας. Δωρεάν, ιδιωτικό και δεν απαιτείται μεταφόρτωση.
Κωδικοποιήστε και αποκωδικοποιήστε διευθύνσεις URL και στοιχεία URI αμέσως στο πρόγραμμα περιήγησής σας. Δωρεάν, ιδιωτικό και δεν απαιτείται μεταφόρτωση.
Η κωδικοποίηση URL (επίσημη κωδικοποίηση ποσοστού, ορίζεται στο RFC 3986) μεταφράζει χαρακτήρες που έχουν ειδική σημασία στις διευθύνσεις URL — κενά, κάθετες, συμπλεκτικά σύμβολα, σημάδια κατακερματισμού — σε ασφαλή μορφή χρησιμοποιώντας σημεία ποσοστού που ακολουθούνται από δεκαεξαδικά ψηφία. Ο χαρακτήρας διαστήματος γίνεται %20 (ή + σε περιβάλλοντα με κωδικοποίηση φόρμας), το συμπλεκτικό σύμβολο γίνεται %26 και ούτω καθεξής. Χωρίς αυτήν την κωδικοποίηση, οι ειδικοί χαρακτήρες θα ερμηνεύονταν ως σύνταξη URL και όχι ως κυριολεκτικά δεδομένα, σπάζοντας τη διεύθυνση URL ή προκαλώντας ακούσια συμπεριφορά.
Υπάρχουν δύο σχετικές αλλά διακριτές κωδικοποιήσεις. Η τυπική κωδικοποίηση στοιχείου URL χρησιμοποιεί %-διαφυγές για οτιδήποτε είναι εκτός του μη δεσμευμένου συνόλου χαρακτήρων: A-Z, a-z, 0-9, παύλα, κάτω παύλα, τελεία, tilde. Η παραλλαγή με κωδικοποίηση φόρμας (application/x-www-form-urlencoded) αντιμετωπίζει επιπλέον τα κενά ως σύμβολα συν και χρησιμοποιεί διαφορετικούς κανόνες για ορισμένους άλλους χαρακτήρες. Το encodeURIcomponent της JavaScript χρησιμοποιεί την αυστηρή κωδικοποίηση στοιχείων. Το encodeURI χρησιμοποιεί μια πιο επιτρεπτή φόρμα που διατηρεί τους χαρακτήρες δομής URL.
Αυτό το εργαλείο προσφέρει τόσο κωδικοποίηση όσο και αποκωδικοποίηση. Η λειτουργία κωδικοποίησης αναδιπλώνει κάθε χαρακτήρα που απαιτεί διαφυγή σε μορφή %HH. Η λειτουργία αποκωδικοποίησης αντιστρέφει τον μετασχηματισμό. Και οι δύο εκτελούνται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας χρησιμοποιώντας ενσωματωμένες λειτουργίες URL JavaScript, έτσι ώστε να μην αποστέλλονται δεδομένα πουθενά.
Οποιαδήποτε στιγμή περιλαμβάνονται δεδομένα σε μια διεύθυνση URL — παράμετροι συμβολοσειράς ερωτήματος, τμήματα διαδρομής που περιέχουν στοιχεία εισόδου χρήστη, στόχοι ανακατεύθυνσης — απαιτείται σωστή κωδικοποίηση. Η αποτυχία κωδικοποίησης παράγει διευθύνσεις URL που σπάνε όταν εμφανίζονται ειδικοί χαρακτήρες, διαρρέουν τα όρια παραμέτρων σε συμβολοσειρές ερωτημάτων (μετατρέποντας το &x=1 σε ξεχωριστή παράμετρο) ή αποκλείονται από διακομιστές ιστού ως αιτήματα με κακή μορφή.
Η αποκωδικοποίηση είναι το αντίστροφο: εξαγωγή των αρχικών δεδομένων από μια κωδικοποιημένη διεύθυνση URL. Οι γραμμές διευθύνσεων του προγράμματος περιήγησης συχνά εμφανίζουν διευθύνσεις URL σε κωδικοποιημένη μορφή. Η αποκωδικοποίηση αποκαλύπτει αυτό που πραγματικά προοριζόταν. Η καταγραφή, ο εντοπισμός σφαλμάτων και η ανάλυση ασφαλείας ωφελούνται από αποκωδικοποιημένες διευθύνσεις URL που εμφανίζουν τις αρχικές παραμέτρους και διαδρομές.
Επικολλήστε μια συμβολοσειρά, επιλέξτε κατεύθυνση.
encodeURIcomponent κωδικοποιεί κάθε χαρακτήρα εκτός του μη δεσμευμένου συνόλου [A-Za-z0-9-_.~]. Τα διαστήματα γίνονται %20, τα σύμβολα συν γίνονται %2B, τα σημάδια ίσου γίνονται %3D και ούτω καθεξής. Οι χαρακτήρες εκτός ASCII κωδικοποιούνται πρώτα σε UTF-8 και, στη συνέχεια, κάθε byte έχει %-διαφυγή.
Το encodeURI είναι πιο επιτρεπτό και προορίζεται για πλήρεις διευθύνσεις URL παρά για στοιχεία. Δεν διαφεύγει /, ?, &, =, # και μερικά άλλα επειδή αυτοί οι χαρακτήρες έχουν νόημα σύνταξης URL. Για την ενσωμάτωση δεδομένων χρήστη σε μια διεύθυνση URL, το encodeURIcomponent είναι σχεδόν πάντα η σωστή επιλογή.
Το decodeURIcomponent αντιστρέφει %-διαφυγές, επικυρώνοντας ότι κάθε διαφυγή είναι καλά διαμορφωμένη και ότι τα byte που προκύπτουν σχηματίζουν έγκυρο UTF-8. Η εσφαλμένη εισαγωγή εισάγει ένα σφάλμα αντί να παράγει σκουπίδια.