Java中對URL解碼

2021-08-31 11:56:26 字數 579 閱讀 6953

url由來:

一般來說,url只能使用英文本母、阿拉伯數字和某些標點符號,不能使用其他文字和符號。比如,世界上有英文本母的** 「但是沒有希臘字母的**「讀作阿爾法-貝塔-伽瑪.com)。這是 因為網路標準rfc 1738 做了硬性規定:

「只有字母和數字[0-9a-za-z]、一些特殊符號「$-_.+!*'(),」[不包括雙引號]、以及某些保留字,才可以不經過編碼直接用於 url。」

這意味著,如果url中有漢字,就必須編碼後使用。但是麻煩的是,rfc 1738沒有規定具體的編碼方法,而是交給應用程式(瀏覽器)自己決定。這導致「url編碼」成為了乙個混亂的領域,所以通常我們可以在瀏覽器位址列中看到一串%3d++%d等類似的字串,實際上是對編碼之後的結果。那麼我們如何對其解碼呢??

public static string geturldecoderstring(string str) 

try catch (unsupportedencodingexception e)

return result;

}

參考了該部落格中部分內容:

JS中對URL進行轉碼與解碼

1.escape 和 unescape escape 不能直接用於url編碼,它的真正作用是返回乙個字元的unicode編碼值。採用unicode字符集對指定的字串除0 255以外進行編碼。所有的空格符 標點符號 特殊字元以及更多有聯絡非ascii字元都將被轉化成 xx格式的字元編碼 xx等於該字元...

JS中對URL進行轉碼與解碼

1.escape 和 unescape escape 不能直接用於url編碼,它的真正作用是返回乙個字元的unicode編碼值。採用unicode字符集對指定的字串除0 255以外進行編碼。所有的空格符 標點符號 特殊字元以及更多有聯絡非ascii字元都將被轉化成 xx格式的字元編碼 xx等於該字元...

JS中對URL進行轉碼與解碼

1.escape 和 unescape escape 不能直接用於url編碼,它的真正作用是返回乙個字元的unicode編碼值。採用unicode字符集對指定的字串除0 255以外進行編碼。所有的空格符 標點符號 特殊字元以及更多有聯絡非ascii字元都將被轉化成 xx格式的字元編碼 xx等於該字元...