Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 12798|Απάντηση: 2

[JavaScript] Κωδικοποίηση διευθύνσεων URL και παραμέτρων σε JavaScript

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 16/4/2022 6:50:39 μ.μ. | | | |
Κωδικοποίηση URL

Ορισμένοι χαρακτήρες δεν μπορούν να εμφανιστούν σε διευθύνσεις URL (π.χ. κενά), άλλοι έχουν ειδικές σημασίες σε διευθύνσεις URL. Πρέπει να μετατρέψουμε ειδικούς χαρακτήρες για να συμμορφωθούμε με τη σύνταξη που ορίζεται στην προδιαγραφή URI W3 (RFC 3986). Αυτό σημαίνει ότι οι διευθύνσεις URL πρέπει να περιέχουν μόνο ένα υποσύνολο ενός ειδικού χαρακτήρα ASCII: τα γράμματα και τους αριθμούς που γνωρίζουμε, καθώς και ορισμένους δεσμευμένους χαρακτήρες που χρησιμοποιούνται ως χαρακτήρες ελέγχου στη διεύθυνση URL.

Επεξεργασία κωδικοποίησης URL σε JavaScript

Στη JavaScript, τόσο οι ενσωματωμένες συναρτήσεις encodeURIComponent() όσο και encodeURI() μπορούν να κωδικοποιηθούν με URL, αντικαθιστώντας τους δεσμευμένους χαρακτήρες στη διεύθυνση URL με τους κωδικοποιημένους χαρακτήρες UTF-8.

Τα περισσότερα προγράμματα περιήγησης κωδικοποιούν αυτόματα τις διευθύνσεις URL, όπως η κωδικοποίηση διαστημάτων στο %20, αλλά υπάρχουν πάντα ορισμένες εξαιρέσεις. Ευτυχώς, τα προγράμματα περιήγησης παρέχουν ενσωματωμένες λειτουργίες κωδικοποίησης και αποκωδικοποίησης URL: encodeURI, encodeURIComponent και decodeURI, decodeURIComponent. Το ερώτημα είναι πώς να χρησιμοποιήσετε αυτές τις λειτουργίες και ποια είναι η διαφορά μεταξύ τους.

encodeURI()

Η κωδικοποίηση URL μιας συμβολοσειράς είναι εύκολη, απλώς καλέστε το encodeURI και περάστε τη συμβολοσειρά που θέλετε να κωδικοποιήσετε. Αυτή η συνάρτηση επιστρέφει την κωδικοποιημένη διεύθυνση URL.

decodeURI()

Αυτή η συνάρτηση αποκωδικοποιεί και καλεί τη συνάρτηση decodeURI, περνώντας στην κωδικοποιημένη συμβολοσειρά και, στη συνέχεια, επιστρέφει την αποκωδικοποιημένη κανονική συμβολοσειρά.



encodeURIComponent()

Η συνάρτηση encodeURIComponent θα πρέπει να χρησιμοποιείται για την κωδικοποίηση των τιμών παραμέτρων της συμβολοσειράς ερωτήματος. Η διαφορά μεταξύ του encodeURI και του encodeURIComponent είναι ότι το encodeURIComponent κωδικοποιεί ολόκληρη τη συμβολοσειρά, ενώ το encodeURI αγνοεί το πρόθεμα πρωτοκόλλου («http://») καθώς και το όνομα τομέα. Το encodeURICcomponent έχει σχεδιαστεί για να κωδικοποιεί τα πάντα, ενώ το encodeURI αγνοεί το τμήμα του ονόματος τομέα της διεύθυνσης URL. ΌτανΌταν θέλετε να κωδικοποιήσετε την τιμή της παραμέτρου στη διεύθυνση URL, επιλέξτε τη συνάρτηση encodeURIComponent

decodeURIComponent()

Η συνάρτηση decodeURIComponent θα αποκωδικοποιήσει την κωδικοποιημένη συμβολοσειρά της συνάρτησης encodeURIComponent και θα την επαναφέρει στο κανονικό της περιεχόμενο.



Αναθεώρηση:

Το JS κωδικοποιεί και αποκωδικοποιεί διευθύνσεις URL (τρεις τρόποι για να τις ξεχωρίσετε)
https://www.itsvse.com/thread-6844-1-1.html

Κωδικοποίηση και αποκωδικοποίηση URL
https://www.itsvse.com/thread-2728-1-1.html

Κωδικοποίηση και αποκωδικοποίηση URL σε ASP.NET
https://www.itsvse.com/thread-2642-1-1.html






Προηγούμενος:Επιλογή προτεραιότητας χρονικού διαστήματος SQL Server
Επόμενος:Το jQuery hide δεν λειτουργεί δύο λύσεις
Δημοσιεύτηκε στις 8/2/2023 10:07:55 μ.μ. |
Επισημάνετε τη διεύθυνση URL του αιτήματος λήψης με # ειδικό χαρακτήρα, υποκλέψτε αυτόματα το περιεχόμενο μετά το #, με αποτέλεσμα μια λανθασμένη διεύθυνση URL και δεν είναι δυνατή η κανονική πρόσβαση σε αυτό
Δημοσιεύτηκε στις 21/12/2023 10:22:07 π.μ. |
Προτροπή:Οι συντάκτες αποκλείονται ή καταργούνται, το περιεχόμενο αποκλείεται αυτόματα
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com