2013-10-09 14 views
9

Jeśli skopiuj poniższy link do przeglądarkiNajszybsza droga do kodowania cyrylicy dla url

http://be.wikipedia.org/wiki/Беларусь 

pokaże artykuł Wiki. Ale gdy chcesz skopiować ten link (lub jakikolwiek inny związek, który zawiera symbole cyrylica) z adresu URL przeglądarki do notatnika, dostaniesz coś takiego:

http://be.wikipedia.org/wiki/%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C 

można kliknąć na dowolny link w wikipedia, która zawiera cyrylicy w tekście i spróbuj ją skopiować do Notatnika.

Więc moje pytanie brzmi:

Co najbardziej prawidłowy lub najszybszy sposób przekonwertować dowolny tekst zawierający cyrylicy słowo Беларусь do %D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C lub jakimkolwiek innym tekstem do takiego rodzaju kodu, więc jest to ważna część adresu URL ? Czy jest w tym celu specjalna funkcja javascript?

Sprawdziłem, to jest rzeczywiście: wielka litera Б = (hex) D0 91 dla UTF-8. Dlatego jest% D0% 91 i tak dalej.

Odpowiedz

10

Funkcja, której szukasz, to encodeURIComponent.

encodeURIComponent("Беларусь"); 
// returns "%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C" 

Jej odpowiednikiem jest decodeURIComponent który odwraca ten proces.

decodeURIComponent("%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C"); 
// returns "Беларусь" 
+0

Dziękujemy! Właśnie tego szukałem. – Haradzieniec

1

Domyślam się, że encodeURI(string) powinno być tym, czego szukasz. Wystarczy sprawdzić już istniejące odpowiedzi na to samo pytanie, np. here!

Powiązane problemy