java byte與base64的互轉(zhuǎn)的實(shí)現(xiàn)示例
1、將byte數(shù)組轉(zhuǎn)為Base64編碼的字符串:byte轉(zhuǎn)Base64
主要代碼:String base64Str = Base64.getEncoder().encodeToString(bytes);
public static void main(String[] args) {
// 要轉(zhuǎn)換的byte數(shù)組
byte[] bytes = "Hello World, 你好,世界".getBytes();
// 數(shù)組長度
System.out.println("byte數(shù)組長度:"+ bytes.length);
// Base64編碼后的字符串
String base64Str = Base64.getEncoder().encodeToString(bytes);
System.out.println("Base64編碼后的字符串:" + base64Str);
}輸出結(jié)果:
byte數(shù)組長度:28
Base64編碼后的字符串:SGVsbG8gV29ybGQsIOS9oOWlve+8jOS4lueVjA==
方式二:DatatypeConverter
import javax.xml.bind.DatatypeConverter;
@Test
public void test0() {
byte[] byteArray = SecureUtil.generateKey(SymmetricAlgorithm.AES.getValue()).getEncoded();
// byte[]轉(zhuǎn)base64
String base64Str = DatatypeConverter.printBase64Binary(byteArray);
// base64轉(zhuǎn)byte[]
byte[] byteArray2 = DatatypeConverter.parseBase64Binary(base64Str);
System.out.println(byteArray2.toString());
}
2、將Base64編碼的字符串轉(zhuǎn)為byte數(shù)組:Base64轉(zhuǎn)byte
主要代碼:byte[] decodedBytes = Base64.getDecoder().decode(base64Str);
public static void main(String[] args) {
// Base64編碼的字符串
String base64Str = "SGVsbG8gV29ybGQsIOS9oOWlve+8jOS4lueVjA==";
// 解碼得到byte數(shù)組
byte[] decodedBytes = Base64.getDecoder().decode(base64Str);
String res = new String(decodedBytes, StandardCharsets.UTF_8);
System.out.println("解碼后的byte數(shù)組:" + res);
}輸出結(jié)果:
解碼后的byte數(shù)組:Hello World, 你好,世界
到此這篇關(guān)于java byte與base64的互轉(zhuǎn)的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)java byte base64互轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Mybatis 大數(shù)據(jù)量的批量insert問題
這篇文章主要介紹了解決Mybatis 大數(shù)據(jù)量的批量insert問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
SpringBoot對Controller進(jìn)行單元測試的實(shí)現(xiàn)代碼 附亂碼解決方案
這篇文章主要介紹了SpringBoot對Controller進(jìn)行單元測試的實(shí)現(xiàn)代碼 附亂碼解決方案,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Spring?Cloud?Alibaba微服務(wù)組件Sentinel實(shí)現(xiàn)熔斷限流
這篇文章主要為大家介紹了Spring?Cloud?Alibaba微服務(wù)組件Sentinel實(shí)現(xiàn)熔斷限流過程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Java ArrayList的基本概念和作用及動態(tài)數(shù)組的機(jī)制與性能
在Java中,ArrayList是一個實(shí)現(xiàn)了List接口的動態(tài)數(shù)組,它可以根據(jù)需要自動增加大小,因此可以存儲任意數(shù)量的元素,這篇文章主要介紹了探秘Java ArrayList的基本概念和作用及動態(tài)數(shù)組的機(jī)制與性能,需要的朋友可以參考下2023-12-12
Java項(xiàng)目中“zip END header not found“錯誤的解決方案
在 Java 項(xiàng)目構(gòu)建或運(yùn)行過程中,開發(fā)者常會遇到 java.util.zip.ZipException: zip END header not found 錯誤,這一異常通常與 JAR 文件損壞、下載不完整、編碼問題或 Maven 依賴管理配置不當(dāng)有關(guān),本文給大家介紹了Java項(xiàng)目中“zip END header not found“錯誤的解決方案2025-06-06
java多線程編程之為什么要進(jìn)行數(shù)據(jù)同步
數(shù)據(jù)同步就是指在同一時(shí)間,只能由一個線程來訪問被同步的類變量,當(dāng)前線程訪問完這些變量后,其他線程才能繼續(xù)訪問,下面看一下為什么要進(jìn)行數(shù)據(jù)同步2014-01-01

