URLEncoder 和HTML 表單URL 編碼之間的差異
在嘗試使用java.net.URLEncoder 對包含空格字元的字串進行字串編碼時,您可能會注意到意想不到的結果。輸出不遵循預期的“Hello World”格式,而是產生“Hello World”。這源自於 URLEncoder 的行為和 HTML 表單 URL 編碼之間的細微差別。
URLEncoder 根據 HTML 規格進行操作,以對 HTML 表單中的 URL 進行編碼。根據 HTML 規範,控制項名稱和值必須轉義空格字符,不能使用“,”,而是使用“”符號。
但是,您的要求可能是將空格字元專門編碼為「」。為此,可以對編碼字串執行簡單的替換操作:
String encodedString = java.net.URLEncoder.encode("Hello World", "UTF-8"); String correctedString = encodedString.replace("+", "%20");
此更正將“ ”符號替換為“,”,從而得到所需的“Hello World”格式。
以上是為什麼`URLEncoder`將空格編碼為'”而不是'”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!