欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

UrlDecoder和UrlEncoder使用詳解_動力節(jié)點Java學院整理

 更新時間:2017年07月18日 11:24:01   作者:asflex  
這篇文章主要為大家詳細介紹了UrlDecoder和UrlEncoder使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一 URLEncoder 

HTML 格式編碼的實用工具類。該類包含了將 String 轉換為 application/x-www-form-urlencoded MIME 格式的靜態(tài)方法。有關 HTML 格式編碼的更多信息,請參閱 HTML 規(guī)范。 

對 String 編碼時,使用以下規(guī)則: 

字母數字字符 "a" 到 "z"、"A" 到 "Z" 和 "0" 到 "9" 保持不變。 
特殊字符 "."、"-"、"*" 和 "_" 保持不變。 
空格字符 " " 轉換為一個加號 "+"。 

所有其他字符都是不安全的,因此首先使用一些編碼機制將它們轉換為一個或多個字節(jié)。然后每個字節(jié)用一個包含 3 個字符的字符串 "%xy" 表示,其中 xy 為該字節(jié)的兩位十六進制表示形式。推薦的編碼機制是 UTF-8。但是,出于兼容性考慮,如果未指定一種編碼,則使用相應平臺的默認編碼。 

例如,使用 UTF-8 編碼機制,字符串 "The string ü@foo-bar" 將轉換為 "The+string+%C3%BC%40foo-bar",因為在 UTF-8 中,字符 ü 編碼為兩個字節(jié),C3 (十六進制)和 BC (十六進制),字符 @ 編碼為一個字節(jié) 40 (十六進制)。 

二 URLDecoder 

該類包含了將 String 從 application/x-www-form-urlencoded MIME 格式解碼的靜態(tài)方法。 

該轉換過程正好與 URLEncoder 類使用的過程相反。假定已編碼的字符串中的所有字符為下列之一:"a" 到 "z"、"A" 到 "Z"、"0" 到 "9" 和 "-"、"_"、"." 以及 "*"。允許有 "%" 字符,但是將它解釋為特殊轉義序列的開始。 

轉換中使用以下規(guī)則: 

字母數字字符 "a" 到 "z"、"A" 到 "Z" 和 "0" 到 "9" 保持不變。 
特殊字符 "."、"-"、"*" 和 "_" 保持不變。 
加號 "+" 轉換為空格字符 " "。 

將把 "%xy" 格式序列視為一個字節(jié),其中 xy 為 8 位的兩位十六進制表示形式。然后,所有連續(xù)包含一個或多個這些字節(jié)序列的子字符串,將被其編碼可生成這些連續(xù)字節(jié)的字符所代替。可以指定對這些字符進行解碼的編碼機制,或者如果未指定的話,則使用平臺的默認編碼機制。 

該解碼器處理非法字符串有兩種可能的方法。一種方法是不管該非法字符,另一種方法是拋出 IllegalArgumentException 異常 

簡單示例:

try { 
   String encodeStr = URLEncoder.encode("中國", "utf-8"); 
   System.out.println("處理后:" + encodeStr); 
   String decodeStr = URLDecoder.decode(encodeStr, "utf-8"); 
   System.out.println("解碼:" + decodeStr); 
  } catch (UnsupportedEncodingException e) { 
   // TODO Auto-generated catch block 
   e.printStackTrace(); 
 } 

運行結果:

處理后:%E4%B8%AD%E5%9B%BD  
解碼:中國  

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java編寫實現坦克大戰(zhàn)小游戲

    Java編寫實現坦克大戰(zhàn)小游戲

    這篇文章主要為大家詳細介紹了Java編寫實現坦克大戰(zhàn)小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • java后端請求過濾options方式

    java后端請求過濾options方式

    Optional項是一個容器對象,它可以包含非空值,也可以不包含非空值,它用于表示沒有值,而不是使用?null,引入Optional項是為了幫助開發(fā)人員編寫更簡潔、更具表現力的代碼,并避免?NullPointerException
    2024-01-01
  • mybatis使用@mapkey獲取的結果的鍵(key)為null問題

    mybatis使用@mapkey獲取的結果的鍵(key)為null問題

    這篇文章主要介紹了mybatis使用@mapkey獲取的結果的鍵(key)為null問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • SpringMVC后端返回數據到前端代碼示例

    SpringMVC后端返回數據到前端代碼示例

    這篇文章主要介紹了SpringMVC后端返回數據到前端代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Spring Security基本原理詳解

    Spring Security基本原理詳解

    這篇文章主要介紹了Spring Security基本原理詳解,springsecurity底層實現為一條過濾器鏈,就是用戶請求進來,判斷有沒有請求的權限,拋出異常,重定向跳轉,需要的朋友可以參考下
    2023-05-05
  • mybatis中<choose>標簽的用法說明

    mybatis中<choose>標簽的用法說明

    這篇文章主要介紹了mybatis中<choose>標簽的用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • JAVA JNI函數的注冊過程詳細介紹

    JAVA JNI函數的注冊過程詳細介紹

    這篇文章主要介紹了JAVA JNI函數的注冊過程詳細介紹的相關資料,需要的朋友可以參考下
    2016-11-11
  • java實現百度云文字識別接口代碼

    java實現百度云文字識別接口代碼

    這篇文章主要為大家詳細介紹了java實現百度云文字識別的接口代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Java如何實現圖片的疊加與拼接操作

    Java如何實現圖片的疊加與拼接操作

    這篇文章主要介紹了Java如何實現圖片的疊加與拼接操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • SpringBoot+Vue+Flowable模擬實現請假審批流程

    SpringBoot+Vue+Flowable模擬實現請假審批流程

    這篇文章主要為大家詳細介紹了如何利用SpringBoot+Vue+Flowable模擬實現一個請假審批流程,文中的示例代碼講解詳細,需要的可以參考一下
    2022-08-08

最新評論