java中URLencode、URLdecode及Base64加解密轉(zhuǎn)換
一、URLencode、URLdecode
// 將application/x-www-from-urlencoded字符串轉(zhuǎn)換成普通字符串
String keyWord = URLDecoder.decode("%E4%BD%A0%E5%A5%BD", "utf-8");
System.out.println(keyWord); //輸出你好
// 將普通字符創(chuàng)轉(zhuǎn)換成application/x-www-from-urlencoded字符串
String urlString = URLEncoder.encode("你好", "utf-8"); //輸出%E4%BD%A0%E5%A5%BD
System.out.println(urlString);二、Base64加解密
Base64 base64 = new Base64();
String encodeText = base64.encodeToString("123456");//加密
String decodeText = base64.decode(encodedText), "UTF-8");//解密三、高效方法:
final Base64.Decoder decoder = Base64.getDecoder();
final Base64.Encoder encoder = Base64.getEncoder();
final String text = "字串文字";
final byte[] textByte = text.getBytes("UTF-8");
//編碼
final String encodedText = encoder.encodeToString(textByte);
System.out.println(encodedText);
//解碼
System.out.println(new String(decoder.decode(encodedText), "UTF-8"));
四、Java 8之后的作法
Java 8的java.util套件中,新增了Base64的類別,可以用來(lái)處理Base64的編碼與解碼,用法如下:
final Base64.Decoder decoder = Base64.getDecoder();
final Base64.Encoder encoder = Base64.getEncoder();
final String text = "字串文字";
final byte[] textByte = text.getBytes("UTF-8");
//編碼
final String encodedText = encoder.encodeToString(textByte);
System.out.println(encodedText);
//解碼
System.out.println(new String(decoder.decode(encodedText), "UTF-8"));
與sun.mis c套件和Apache Commons Codec所提供的Base64編解碼器來(lái)比較的話,Java 8提供的Base64擁有更好的效能。實(shí)際測(cè)試編碼與解碼速度的話,Java 8提供的Base64,要比sun.mis c套件提供的還要快至少11倍,比Apache Commons Codec提供的還要快至少3倍。因此在Java上若要使用Base64,這個(gè)Java 8底下的java .util套件所提供的Base64類別絕對(duì)是首選!
到此這篇關(guān)于java中URLencode、URLdecode及Base64加解密轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)java中URLencode、URLdecode及Base64加解密內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- java中URLEncoder.encode與URLDecoder.decode處理url特殊參數(shù)的方法
- java 使用URLDecoder和URLEncoder對(duì)中文進(jìn)行處理
- java使用URLDecoder和URLEncoder對(duì)中文字符進(jìn)行編碼和解碼
- Java中的UrlDecoder 和 UrlEncoder_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- Java?Base64?加密與解密示例代碼
- java使用Base64實(shí)現(xiàn)文件加密解密
- Java實(shí)現(xiàn)的Base64加密算法示例
- java8版本base64加密解密的實(shí)例
相關(guān)文章
Java中統(tǒng)計(jì)字符個(gè)數(shù)以及反序非相同字符的方法詳解
本篇文章是對(duì)Java中統(tǒng)計(jì)字符個(gè)數(shù)以及反序非相同字符的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
詳解Java動(dòng)態(tài)代理的實(shí)現(xiàn)機(jī)制
這篇文章主要為大家詳細(xì)介紹了Java動(dòng)態(tài)代理的實(shí)現(xiàn)機(jī)制,感興趣的小伙伴們可以參考一下2016-03-03
springboot整合token的實(shí)現(xiàn)代碼
這篇文章主要介紹了springboot整合token的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
SpringSecurity中的UserDetailsService深度解析
文章介紹了Spring Security中的UserDetailsService接口,它用于自定義用戶認(rèn)證邏輯,通過(guò)實(shí)現(xiàn)該接口,可以自定義用戶認(rèn)證過(guò)程,文章詳細(xì)解釋了UserDetailsService接口的返回值、方法參數(shù)以及可能出現(xiàn)的異常,如UsernameNotFoundException,感興趣的朋友跟隨小編一起看看吧2025-11-11
詳解Spring Data Jpa當(dāng)屬性為Null也更新的完美解決方案
這篇文章主要介紹了詳解Spring Data Jpa當(dāng)屬性為Null也更新的完美解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02

