亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java  使用URLDecoder和URLEncoder對中文進行處理

 更新時間:2017年02月28日 08:36:01   投稿:lqh  
這篇文章主要介紹了java 使用URLDecoder和URLEncoder對中文進行處理的相關資料,需要的朋友可以參考下

java  使用URLDecoder和URLEncoder對中文進行處理

一 URLEncoder

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

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

字母數(shù)字字符 "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ī)則:

字母數(shù)字字符 "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 
解碼:中國 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • Springboot使用jxls實現(xiàn)同sheet多個列表展示

    Springboot使用jxls實現(xiàn)同sheet多個列表展示

    這篇文章主要介紹了Springboot使用jxls實現(xiàn)同sheet多個列表展示,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 使用Java第三方實現(xiàn)發(fā)送短信功能

    使用Java第三方實現(xiàn)發(fā)送短信功能

    這篇文章主要介紹了使用Java第三方實現(xiàn)發(fā)送短信功能,在一些開發(fā)中,經(jīng)常需要有給用戶發(fā)送短信接收驗證碼的功能,那么在Java中該如何實現(xiàn)呢,今天我們就一起來看一看
    2023-03-03
  • JAVA如何把數(shù)據(jù)庫的數(shù)據(jù)處理成樹形結構

    JAVA如何把數(shù)據(jù)庫的數(shù)據(jù)處理成樹形結構

    本文介紹了JAVA如何把數(shù)據(jù)庫的數(shù)據(jù)處理成樹形結構,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Java實現(xiàn)驗證文件名有效性的方法詳解

    Java實現(xiàn)驗證文件名有效性的方法詳解

    在本文中,我們將討論使用?Java?驗證一個給定的字符串是否具有操作系統(tǒng)的有效文件名的不同方法,文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-09-09
  • 使用Java進行FreeMarker的web模板開發(fā)的基礎教程

    使用Java進行FreeMarker的web模板開發(fā)的基礎教程

    這篇文章主要介紹了使用Java進行FreeMarker模板引擎開發(fā)的基礎教程,文中針對FreeMarker的網(wǎng)頁標簽用法給出了一些例子,需要的朋友可以參考下
    2016-03-03
  • 一文詳解如何在Java中啟動線程

    一文詳解如何在Java中啟動線程

    今天要跟大家聊一聊Java多線程的原理和使用方式,Java多線程是提高程序性能的重要機制,了解線程生命周期、同步機制、線程池和線程間通信等概念,可以幫助我們編寫出高效、可靠的多線程程序,需要的朋友可以參考下
    2024-07-07
  • java檢查服務器的連通兩種方法代碼分享

    java檢查服務器的連通兩種方法代碼分享

    這篇文章主要介紹了java檢查服務器的連通兩種方法代碼分享,涉及ping的介紹以及檢查服務器連通的兩種方法代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • java和Spring中觀察者模式的應用詳解

    java和Spring中觀察者模式的應用詳解

    這篇文章主要介紹了java和Spring中觀察者模式的應用,,具有一定的參考價值,感興趣的可以了解一下,希望能夠給你帶來幫助
    2021-10-10
  • JDK?8和JDK?17的區(qū)別和新特性大全

    JDK?8和JDK?17的區(qū)別和新特性大全

    這篇文章主要給大家介紹了關于JDK?8和JDK?17的區(qū)別和新特性的相關資料,文中總結一些Jdk8到Jdk17的一些新特性,給大家選擇jdk版本的時候有些參考性,需要的朋友可以參考下
    2023-06-06
  • mybatis 通過攔截器打印完整的sql語句以及執(zhí)行結果操作

    mybatis 通過攔截器打印完整的sql語句以及執(zhí)行結果操作

    這篇文章主要介紹了mybatis 通過攔截器打印完整的sql語句以及執(zhí)行結果操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10

最新評論