undelo

URL კოდირება

დაკოდირე ტექსტი და URL-ები პროცენტული ფორმატით, ან დეკოდირე უკან

კოდირებს ტექსტს URL-თვის უსაფრთხო, პროცენტ-კოდირებულ ფორმატში, ან დეკოდირებს პროცენტ-კოდირებულ ტექსტს უკან ჩვეულებრივ ტექსტად, „კოდირება/დეკოდირება“ გადამრთველით.

როგორ მუშაობს

კოდირება იყენებს ბრაუზერის ჩაშენებულ encodeURIComponent-ს, რომელიც ისეთ სიმბოლოებს, როგორიცაა space, & და არალათინური ასოები, გარდაქმნის მათ %XX პროცენტ-კოდირებულ ფორმაში, რათა შედეგი URL-ის query-სტრიქონში ან გზის სეგმენტში უსაფრთხოდ იქნას გამოსაყენებელი. დეკოდირება საპირისპირო პროცესს decodeURIComponent-ით ატარებს და დაზიანებულ %-მიმდევრობებზე შეცდომას აჩვენებს, გამოცნობის მაგივრად.

ხშირად დასმული კითხვები

რატომ არის ცალკე „კოდირება/დეკოდირება“ გადამრთველი, ავტომატური ამოცნობის ნაცვლად?

ჩვეულებრივი და პროცენტ-კოდირებული ტექსტის ერთმანეთისგან საიმედოდ გარჩევა ყოველთვის შესაძლებელი არ არის (ჩვეულებრივ ტექსტს კანონიერად შეიძლება ჰქონდეს % სიმბოლო), ამიტომ ცალკე გადამრთველი არასწორ გამოცნობას გამორიცხავს.

რატომ ჩავარდა დეკოდირება ჩემს ტექსტზე?

ტექსტი შეიცავს დაზიანებულ პროცენტ-მიმდევრობას — მარტოხელა %-ს, არასრულ %XX კოდს ან გატეხილ კოდირებულ სიმბოლოს — რომლის უსაფრთხოდ ინტერპრეტაცია decodeURIComponent-ს არ შეუძლია, ამიტომ ჩუმად არასწორი შედეგის ნაცვლად შეცდომას აჩვენებს.

რა ექვემდებარება ზუსტად კოდირებას?

ყველაფერი, რაც თავისთავად URL-უსაფრთხო სიმბოლო არ არის — ასოები, ციფრები და პუნქტუაციის მცირე ნაწილი უცვლელად რჩება, ხოლო space, სიმბოლოები და არალათინური ასოები %XX მიმდევრობებად გარდაიქმნება.

ეს იგივეა, რაც სრული URL-ის კოდირება?

ის აგებულია ცალკე მნიშვნელობის — მაგალითად, query-პარამეტრის ან გზის სეგმენტის — კოდირებისთვის, არა მთელი URL-ისთვის. მთელი URL-ის გატარებისას მასში ისეთი სიმბოლოებიც კოდირდება, როგორიცაა `://` და `/`, რომლებმაც ხელუხლებელი უნდა დარჩეს, რომ URL ვალიდური დარჩეს.

ჩემი ტექსტი სადმე იგზავნება?

არა — ორივე მიმართულება მთლიანად თქვენს ბრაუზერში, ჩაშენებული JavaScript ფუნქციებით მუშაობს. არაფერი იტვირთება.