URL Encoder & Decoder

Κωδικοποιήστε κείμενο με percent-encoding για URLs και query strings, αποκωδικοποιήστε κωδικοποιημένα URLs και αναλύστε οποιοδήποτε URL στα μέρη του με αποκωδικοποιημένες παραμέτρους query.

Τρέχει στον browser σαςΧωρίς εγγραφήΤίποτα δεν ανεβαίνει

Κωδικοποιημένο

Πώς να χρησιμοποιήσετε: URL κωδικοποίηση / αποκωδικοποίηση

  1. Επιλέξτε Κωδικοποίηση ή Αποκωδικοποίηση.
  2. Κατά την κωδικοποίηση, επιλέξτε Τμήμα για μία τιμή query ή ένα τμήμα διαδρομής, Πλήρες URL για να διατηρηθεί η δομή του URL ή Δεδομένα φόρμας για application/x-www-form-urlencoded.
  3. Επικολλήστε το κείμενό σας. Το αποτέλεσμα εμφανίζεται αμέσως· τα λανθασμένα escapes αναφέρονται με τη θέση τους.
  4. Επικολλήστε ένα πλήρες URL στην Ανάλυση URL για να δείτε host, διαδρομή, fragment και κάθε παράμετρο query αποκωδικοποιημένη.

Τι είναι η κωδικοποίηση URL;

Τα URLs μπορούν να περιέχουν μόνο ένα περιορισμένο σύνολο χαρακτήρων ASCII (RFC 3986). Όλα τα υπόλοιπα, όπως κενά, μη λατινικά γράμματα και χαρακτήρες με ειδική σημασία όπως &, ? και #, γράφονται ως σύμβολο ποσοστού ακολουθούμενο από δύο δεκαεξαδικά ψηφία για κάθε byte UTF-8. Ένα κενό γίνεται %20 και το é γίνεται %C3%A9.

encodeURIComponent ή encodeURI

ΣυνάρτησηΑφήνει ανέγγιχταΧρήση
encodeURIComponentA-Z a-z 0-9 - _ . ~Μία τιμή query, ένα τμήμα διαδρομής ή όνομα παραμέτρου
encodeURIΕπιπλέον : / ? # [ ] @ ! $ & ' ( ) * + , ; =Ολόκληρο URL του οποίου η δομή πρέπει να διατηρηθεί

Η χρήση του encodeURI σε μια τιμή query είναι κλασικό bug: ένα & μέσα στην τιμή δεν γίνεται escape, οπότε χωρίζει την παράμετρο στα δύο. Η λειτουργία Τμήμα αυτού του εργαλείου κάνει επίσης escape τα ! ' ( ) * για αυστηρή συμμόρφωση με το RFC 3986.

%20 ή + για τα κενά;

Στις διαδρομές, ένα κενό πρέπει να είναι %20. Στις υποβολές φορμών HTML (application/x-www-form-urlencoded) και σε πολλά query strings, το κενό γράφεται ως +. Κατά την αποκωδικοποίηση, ενεργοποιήστε το Το + ως κενό για δεδομένα φόρμας και απενεργοποιήστε το όταν μετράει ένα κυριολεκτικό σύμβολο συν, όπως στο jane+test@example.com.

Συχνές ερωτήσεις

Γιατί παίρνω «Malformed escape» κατά την αποκωδικοποίηση;
Ένα % πρέπει να ακολουθείται από ακριβώς δύο δεκαεξαδικά ψηφία. Ένα κυριολεκτικό σύμβολο ποσοστού, όπως στο «50% έκπτωση», έπρεπε να έχει κωδικοποιηθεί ως %25. Το σφάλμα δείχνει τη θέση της προβληματικής ακολουθίας.
Τι σημαίνει «Invalid UTF-8 byte sequence»;
Τα bytes δεν κωδικοποιήθηκαν ως UTF-8, συχνά επειδή το κείμενο παράχθηκε από παλιό σύστημα με Latin-1 (για παράδειγμα %E9 για το é αντί για %C3%A9) ή επειδή το string κόπηκε στη μέση ενός χαρακτήρα.
Να κωδικοποιήσω ολόκληρο το URL ή μόνο τις παραμέτρους;
Κωδικοποιήστε κάθε όνομα και τιμή παραμέτρου ξεχωριστά με κωδικοποίηση τμήματος και μετά ενώστε τα με = και &. Αν κωδικοποιήσετε ένα πλήρες URL σε λειτουργία τμήματος, θα γίνει escape και το :// και το URL θα χαλάσει.
Είναι πρόβλημα η διπλή κωδικοποίηση;
Ναι. Η κωδικοποίηση ενός ήδη κωδικοποιημένου string μετατρέπει το %20 σε %2520. Αν βλέπετε %25 ακολουθούμενο από δεκαεξαδικά ψηφία, η τιμή μάλλον κωδικοποιήθηκε δύο φορές. Αποκωδικοποιήστε τη δύο φορές για να πάρετε το αρχικό.

Σχετικά εργαλεία