java?byte數(shù)組轉(zhuǎn)String的幾種常用方法
轉(zhuǎn)換方法概覽
在Java中,將byte數(shù)組轉(zhuǎn)換為String是常見(jiàn)的操作,尤其是在處理二進(jìn)制數(shù)據(jù)和字符串表示之間轉(zhuǎn)換時(shí)。以下是Java中幾種常用的轉(zhuǎn)換方法。
String(byte[] bytes) 構(gòu)造器
這是最簡(jiǎn)單的轉(zhuǎn)換方法,它使用平臺(tái)默認(rèn)的字符集來(lái)解碼byte數(shù)組。
byte[] bytes = {72, 101, 108, 108, 111}; // "Hello" in ASCII String str = new String(bytes); System.out.println(str); // 輸出: Hello
String(byte[] bytes, int offset, int length) 構(gòu)造器
這個(gè)方法允許你指定byte數(shù)組的子序列進(jìn)行轉(zhuǎn)換,通過(guò)offset
和length
參數(shù)。
byte[] bytes = new byte[]{72, 101, 108, 108, 111, 114, 108, 100}; // "HelloWorld" in ASCII String str = new String(bytes, 0, 5); // 只轉(zhuǎn)換前5個(gè)字符 System.out.println(str); // 輸出: Hello
String(byte[] bytes, Charset charset) 方法
使用Charset
參數(shù)可以指定特定的字符集進(jìn)行解碼,這在處理非平臺(tái)默認(rèn)字符集的數(shù)據(jù)時(shí)非常有用。
byte[] bytes = {72, 101, 108, 108, 111}; // "Hello" in ASCII String str = new String(bytes, StandardCharsets.UTF_8); System.out.println(str); // 輸出: Hello
String(byte[] bytes, int offset, int length, String charsetName) 方法
當(dāng)需要指定字符集并且提供子序列的轉(zhuǎn)換時(shí),可以使用這個(gè)方法。
byte[] bytes = new byte[]{72, 101, 108, 108, 111, 114, 108, 100}; // "HelloWorld" in ASCII String str = new String(bytes, 6, 5, "US-ASCII"); // 從第6個(gè)字符開(kāi)始轉(zhuǎn)換5個(gè)字符 System.out.println(str); // 輸出: World
String(byte[] bytes, String charsetName) 構(gòu)造器
這個(gè)構(gòu)造器允許你通過(guò)字符集名稱來(lái)解碼byte數(shù)組。
byte[] bytes = {72, 101, 108, 108, 111}; // "Hello" in ASCII String str = new String(bytes, "UTF-8"); System.out.println(str); // 輸出: Hello
附:通過(guò)String類將String轉(zhuǎn)換成byte[]或者byte[]轉(zhuǎn)換成String
用String.getBytes()方法將字符串轉(zhuǎn)換為byte數(shù)組,通過(guò)String構(gòu)造函數(shù)將byte數(shù)組轉(zhuǎn)換成String
注意:這種方式使用平臺(tái)默認(rèn)字符集
package com.bill.example; public class StringByteArrayExamples { public static void main(String[] args) { //Original String String string = "hello world"; //Convert to byte[] byte[] bytes = string.getBytes(); //Convert back to String String s = new String(bytes); //Check converted string against original String System.out.println("Decoded String : " + s); } }
輸出:
hello world
總結(jié)
到此這篇關(guān)于java byte數(shù)組轉(zhuǎn)String的幾種常用方法的文章就介紹到這了,更多相關(guān)java byte數(shù)組轉(zhuǎn)String內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談緩沖字符流 BufferedReader BufferedWriter用法
這篇文章主要介紹了緩沖字符流 BufferedReader BufferedWriter的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Spring 基于XML配置 bean管理 Bean-IOC的方法
這篇文章主要介紹了Spring 基于XML配置 bean管理 Bean-IOC的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2025-04-04Maven本地倉(cāng)庫(kù)的配置以及修改默認(rèn).m2倉(cāng)庫(kù)位置
今天小編就為大家分享一篇關(guān)于Maven本地倉(cāng)庫(kù)的配置以及修改默認(rèn).m2倉(cāng)庫(kù)位置的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10spring boot 添加admin監(jiān)控的方法
這篇文章主要介紹了spring boot 添加admin監(jiān)控的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-02-02java導(dǎo)出pdf文件的詳細(xì)實(shí)現(xiàn)方法
這篇文章主要介紹了java導(dǎo)出pdf文件的詳細(xì)實(shí)現(xiàn)方法,包括制作模板、獲取中文字體文件、實(shí)現(xiàn)后端服務(wù)以及前端發(fā)起請(qǐng)求并生成下載鏈接,需要的朋友可以參考下2025-03-03Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(19)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-07-07Springboot Cache @CacheEvict 無(wú)法模糊刪除的解決方案
這篇文章主要介紹了Springboot Cache @CacheEvict 無(wú)法模糊刪除的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12