URL編碼是將非ASCII字符轉(zhuǎn)換成可在URL中使用的安全ASCII字符,它是在Web開發(fā)中非常常見的操作。而在Java中,我們可以使用java.net包的URLEncoder類來進(jìn)行URL編碼。
String str = "Java URL 編碼"; String encodedStr = URLEncoder.encode(str, "UTF-8"); System.out.println(encodedStr); // 輸出:Java+URL+%E7%BC%96%E7%A0%81
上面的代碼中,我們將字符串"Java URL 編碼"使用UTF-8編碼進(jìn)行URL編碼,得到的結(jié)果是Java+URL+%E7%BC%96%E7%A0%81。其中,空格被轉(zhuǎn)換成了加號(+),中文字符被轉(zhuǎn)換成了%xx的十六進(jìn)制表示形式。
而在JavaScript中,我們可以使用全局函數(shù)encodeURIComponent()進(jìn)行URL編碼,它同樣可以將非ASCII字符轉(zhuǎn)換成安全的ASCII字符。
var str = "JavaScript URL 編碼"; var encodedStr = encodeURIComponent(str); console.log(encodedStr); // 輸出:JavaScript%20URL%20%E7%BC%96%E7%A0%81
上面的代碼中,我們將字符串"JavaScript URL 編碼"使用encodeURIComponent()進(jìn)行URL編碼,得到的結(jié)果與Java中的一樣。需要注意的是,JavaScript中的空格被轉(zhuǎn)換成了%20,而不是加號(+)。