java?byte數(shù)組轉(zhuǎn)String的幾種常用方法
轉(zhuǎn)換方法概覽
在Java中,將byte數(shù)組轉(zhuǎn)換為String是常見的操作,尤其是在處理二進(jìn)制數(shù)據(jù)和字符串表示之間轉(zhuǎn)換時(shí)。以下是Java中幾種常用的轉(zhuǎn)換方法。
String(byte[] bytes) 構(gòu)造器
這是最簡(jiǎn)單的轉(zhuǎn)換方法,它使用平臺(tái)默認(rèn)的字符集來解碼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)換,通過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è)字符開始轉(zhuǎn)換5個(gè)字符
System.out.println(str); // 輸出: World
String(byte[] bytes, String charsetName) 構(gòu)造器
這個(gè)構(gòu)造器允許你通過字符集名稱來解碼byte數(shù)組。
byte[] bytes = {72, 101, 108, 108, 111}; // "Hello" in ASCII
String str = new String(bytes, "UTF-8");
System.out.println(str); // 輸出: Hello附:通過String類將String轉(zhuǎn)換成byte[]或者byte[]轉(zhuǎn)換成String
用String.getBytes()方法將字符串轉(zhuǎn)換為byte數(shù)組,通過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)文章
java使用Hashtable過濾數(shù)組中重復(fù)值的方法
這篇文章主要介紹了java使用Hashtable過濾數(shù)組中重復(fù)值的方法,涉及java數(shù)組遍歷及過濾的相關(guān)技巧,需要的朋友可以參考下2016-08-08
Java生成獨(dú)一無二的工單號(hào)實(shí)例
這篇文章主要介紹了Java生成獨(dú)一無二的工單號(hào)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-09-09
Java HashSet(散列集),HashMap(散列映射)的簡(jiǎn)單介紹
這篇文章主要介紹了Java HashSet(散列集),HashMap(散列映射)的簡(jiǎn)單介紹,幫助大家更好的理解和學(xué)習(xí)Java集合框架的相關(guān)知識(shí),感興趣的朋友可以了解下2021-01-01
Java函數(shù)接口和Lambda表達(dá)式深入分析
這篇文章主要介紹了Java函數(shù)接口和Lambda表達(dá)式,函數(shù)接口是一個(gè)具有單個(gè)抽象方法的接口,接口設(shè)計(jì)主要是為了支持Lambda表達(dá)式和方法引用,使得Java能更方便地實(shí)現(xiàn)函數(shù)式編程風(fēng)格,需要的朋友可以參考下2025-04-04

