2013-10-09 41 views
9

如果複製下面的鏈接到瀏覽器最快的方式編碼西裏爾字母的網址

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

它會顯示維基文章。 但是,一旦你想從瀏覽器的URL該鏈接(或包含西里爾符號任何其他鏈接)複製到記事本,你會得到這樣的事情:

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

您可以點擊任何鏈接在文本中包含西裏爾字母的wikipedia,並嘗試將其複製到記事本中。

所以,我的問題是:

什麼是包含西里爾文字Беларусь%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C或任何其他文本到這種類型的代碼的任何文本轉換最正確或最快速的方式,以便它是URL的一個有效組成部分? 是否有爲此目的的特殊的JavaScript功能?

我檢查過,它實際上是:西里爾文大寫字母Б=(hex)D0 91代表UTF-8。這就是爲什麼它是%D0%91等等。

回答

10

您正在搜索的功能是encodeURIComponent

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

其對應部分是decodeURIComponent,這顛倒了這個過程。

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

謝謝!這正是我所期待的。 – Haradzieniec

1

我猜encodeURI(string)應該是你在找什麼。只需查看相同問題的現有答案,例如here