URL კოდირება
დაკოდირე ტექსტი და URL-ები პროცენტული ფორმატით, ან დეკოდირე უკან
კოდირებს ტექსტს URL-თვის უსაფრთხო, პროცენტ-კოდირებულ ფორმატში, ან დეკოდირებს პროცენტ-კოდირებულ ტექსტს უკან ჩვეულებრივ ტექსტად, „კოდირება/დეკოდირება“ გადამრთველით.
როგორ მუშაობს
კოდირება იყენებს ბრაუზერის ჩაშენებულ encodeURIComponent-ს, რომელიც ისეთ სიმბოლოებს, როგორიცაა space, & და არალათინური ასოები, გარდაქმნის მათ %XX პროცენტ-კოდირებულ ფორმაში, რათა შედეგი URL-ის query-სტრიქონში ან გზის სეგმენტში უსაფრთხოდ იქნას გამოსაყენებელი. დეკოდირება საპირისპირო პროცესს decodeURIComponent-ით ატარებს და დაზიანებულ %-მიმდევრობებზე შეცდომას აჩვენებს, გამოცნობის მაგივრად.
ხშირად დასმული კითხვები
რატომ არის ცალკე „კოდირება/დეკოდირება“ გადამრთველი, ავტომატური ამოცნობის ნაცვლად?
ჩვეულებრივი და პროცენტ-კოდირებული ტექსტის ერთმანეთისგან საიმედოდ გარჩევა ყოველთვის შესაძლებელი არ არის (ჩვეულებრივ ტექსტს კანონიერად შეიძლება ჰქონდეს % სიმბოლო), ამიტომ ცალკე გადამრთველი არასწორ გამოცნობას გამორიცხავს.
რატომ ჩავარდა დეკოდირება ჩემს ტექსტზე?
ტექსტი შეიცავს დაზიანებულ პროცენტ-მიმდევრობას — მარტოხელა %-ს, არასრულ %XX კოდს ან გატეხილ კოდირებულ სიმბოლოს — რომლის უსაფრთხოდ ინტერპრეტაცია decodeURIComponent-ს არ შეუძლია, ამიტომ ჩუმად არასწორი შედეგის ნაცვლად შეცდომას აჩვენებს.
რა ექვემდებარება ზუსტად კოდირებას?
ყველაფერი, რაც თავისთავად URL-უსაფრთხო სიმბოლო არ არის — ასოები, ციფრები და პუნქტუაციის მცირე ნაწილი უცვლელად რჩება, ხოლო space, სიმბოლოები და არალათინური ასოები %XX მიმდევრობებად გარდაიქმნება.
ეს იგივეა, რაც სრული URL-ის კოდირება?
ის აგებულია ცალკე მნიშვნელობის — მაგალითად, query-პარამეტრის ან გზის სეგმენტის — კოდირებისთვის, არა მთელი URL-ისთვის. მთელი URL-ის გატარებისას მასში ისეთი სიმბოლოებიც კოდირდება, როგორიცაა `://` და `/`, რომლებმაც ხელუხლებელი უნდა დარჩეს, რომ URL ვალიდური დარჩეს.
ჩემი ტექსტი სადმე იგზავნება?
არა — ორივე მიმართულება მთლიანად თქვენს ბრაუზერში, ჩაშენებული JavaScript ფუნქციებით მუშაობს. არაფერი იტვირთება.