A. java里面byte数组和String字符串怎么转换
Java中byte数组转换成string字符串可以直接使用string类的构造函数。而string转byte数组,则可以使用string类型的getBytes()方法进行转换,如下形式:
1、string 转 byte[]
String str = "Hello";//声明一个字符串
byte[] srtbyte = str.getBytes();//使用string类的getBytes方法进行转换
2、byte[] 转 string
byte[] srtbyte;//声明一个byte字节数组
String res = new String(srtbyte);//使用构造函数转换成字符串
System.out.println(res);
也可以将byte转换的时候,设定编码方式相互转换,如下代码:
String str = "hello";
byte[] srtbyte = null;
try {
srtbyte = str.getBytes("UTF-8");//设定转换的编码格式
String res = new String(srtbyte,"UTF-8");
System.out.println(res);
} catch (UnsupportedEncodingException e) {//有可能会出现不能支持的编码格式,捕捉异常。
e.printStackTrace();
}
B. java中如何让byte[]与string类型转换后,保持不变
String.getBytes()是取决于本地缺省编码的,两边不一样就抓瞎了。你这种情况其实是要传byte[],这样硬生生转成String总觉得太危险,一般的做法是弄成比如Base64这样的7bits编码。现成的有sun.misc.BASE64Encoder和sun.misc.BASE64Decoder。
C. java byte转换成string
后一个不是乱码的:new String(byte)是指:
通过使用平台的默认字符集解码指定对字节数组。新的字符串的长度是一个字符集的功能,并因此可能不相等的字节数组的长度。此构造函数的行为时,给定的字节是不确定的无效的默认字符集。在解码过程中该java.nio.charset.charsetdecoder类使用更多的控制是必要的。
D. java里面byte数组和String字符串怎么转换
Java中byte数组转换成string字符串可以直接使用string类的构造函数。而string转byte数组,则可以使用string类型的getBytes()方法进行转换,如下形式:
1、string 转 byte[]
String str = "Hello";//声明一个字符串
byte[] srtbyte = str.getBytes();//使用string类的getBytes方法进行转换
2、byte[] 转 string
byte[] srtbyte;//声明一个byte字节数组
String res = new String(srtbyte);//使用构造函数转换成字符串
System.out.println(res);
也可以将byte转换的时候,设定编码方式相互转换,如下代码:
String str = "hello";
byte[] srtbyte = null;
try {
srtbyte = str.getBytes("UTF-8");//设定转换的编码格式
String res = new String(srtbyte,"UTF-8");
System.out.println(res);
} catch (UnsupportedEncodingException e) {//有可能会出现不能支持的编码格式,捕捉异常。
e.printStackTrace();
}
E. java里面byte数组和String字符串怎么转换
java中的String不属于基本数据类型,字符串是有一个个的字符组成的,字符数组就是字符串,因此,JDK提供了如下转换方法:
1.byte[]转换成String:
Stringstr=newString(byte[]bytes);
2.String转换成byte[]:
byte[]dataArray="HelloWorld!".getBytes();
以上便是jdk的String工具类提供的转换方法。
F. java里面byte数组和String字符串怎么转换
Java中byte数组转换成string字符串可以直接使用string类的构造函数。而string转byte数组,则可以使用string类型的getBytes()方法进行转换,如下形式:
1、string 转 byte[]
String str = "Hello";//声明一个字符串
byte[] srtbyte = str.getBytes();//使用string类的getBytes方法进行转换
2、byte[] 转 string
byte[] srtbyte;//声明一个byte字节数组
String res = new String(srtbyte);//使用构造函数转换成字符串
System.out.println(res);
也可以将byte转换的时候,设定编码方式相互转换,如下代码:
String str = "hello";
byte[] srtbyte = null;
try {
srtbyte = str.getBytes("UTF-8");//设定转换的编码格式
String res = new String(srtbyte,"UTF-8");
System.out.println(res);
} catch (UnsupportedEncodingException e) {//有可能会出现不能支持的编码格式,捕捉异常。
e.printStackTrace();
}
G. Java byte[]和String转换问题
File file = new File("XXX\\XXX\\XXX.dat");
InputStream input = new FileInputStream(file);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
byte[] b = new byte[1024];
int ind = 0;
while((ind=input.read(b, 0, b.length))!=-1){
bytes.write(b, 0, ind);
}
byte[] result = bytes.toByteArray();
String str = new String(result);
System.out.println(str);
有这段代码试试吧
H. java中byte数组怎么转换成string类型
可以用String的构造方法String(byte[] bytes,int offset,int length),或者普通的构造方法String(byte[] bytes),用法如下:
publicclassByteArrayToString{
publicstaticvoidmain(String[]args){
byte[]bytes=newbyte[]{'a','b','c','d','e','f','g'};
byteArrayToString(bytes,null);//输出abcdefg
byteArrayToString(bytes,"2");//输出cdefg
}
(byte[]bytes,Stringoffset){
Stringstr="";
if(offset!=null){
str=newString(bytes,Integer.parseInt(offset),5);//这个方法可以精确的截取字符串
}else{
str=newString(bytes);//普通的字符串构造方法
}
System.out.println(str);
returnstr;
}
}
I. java里面byte数组和String字符串怎么转换
byte数组转换成String可以调用String的参数为byte数组的构造方法,代码如下:String res = new String(byte);
String转换成byte数组可以调用String的getByte方法,代码如下:byte[] srtbyte = str.getBytes();