javabytestring转换
⑴ 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();
}
⑵ java里面byte数组和String字符串怎么转换
//String 转 byte[]
String str = "Hello";
byte[] srtbyte = str.getBytes();
// byte[] 转 String
String res = new String(srtbyte);
System.out.println(res);
//当然还有可以设定编码方式的
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();
}
⑶ 在java中,如何将byte转为string
方法一:
String s = "fs123fdsa";//String变量
byte b[] = s.getBytes();//String转换为byte[]
String t = new String(b);//bytep[]转换为String
方法二:
String a;
byte b;
a=b+"";
这样就把b的byte值给了字符串a。
这种方法也可以用来将数字==格式缓缓成字符串。
比如
int c;
String d;
d=c+"";
这样就是把整数c转换成了字符串d。
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
⑷ 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();
}
⑸ java 里面的string 和byte 怎么互转
1.string 转 byte[]
byte[] midbytes=isoString.getBytes("UTF8");
//为UTF8编码
byte[] isoret = srt2.getBytes("ISO-8859-1");
//为ISO-8859-1编码
其中ISO-8859-1为单字节的编码
2.byte[]转string
String isoString = new String(bytes,"ISO-8859-1");
String srt2=new String(midbytes,"UTF-8");
说明:
在网络传输或其它应用中常常有同一的中间件,假设为String类型。因此需要把其它类型的数据转换为中间件的类型。
将字符串进行网络传输时,如socket,需要将其在转换为byte[]类型。这中间如果采用用不同的编码可能会出现未成预料的问题,如乱码。
下面举个例子:
我们用socket传输String类型的数据时,常常用UTF-8进行编码,这样比较可以避免一个“中文乱码”的问题。
发送端:
String sendString="发送数据";
byte[] sendBytes= sendString .getBytes("UTF8");
.......socket发送
接受端:
String recString=new String( sendBytes ,"UTF-8");
但是,这里往往又会出现这样一个问题。就是想要发送的数据本身就是byte[]类型的。
如果将其通过UTF-8编码转换为中间件String类型就会出现问题
如:
byte[] bytes = new byte[] { 50, 0, -1, 28, -24 };
String sendString=new String( bytes ,"UTF-8");
byte[] sendBytes= sendString .getBytes("UTF8");
然后再发送
接受时进行逆向转换
String recString=new String( sendBytes ,"UTF-8");
byte[] Mybytes=isoString.getBytes("UTF8");
这时Mybytes中的数据将是[50, 0, -17, -65, -67, 28, -17, -65, -67]
因此,需要采用单字节的编码方式进行转换
String sendString=new String( bytes ,"UTF-8"); 改为 String sendString=new String( bytes , "ISO-8859-1" );
byte[] Mybytes=isoString.getBytes("UTF8"); 改为 byte[] Mybytes=isoString.getBytes( "ISO-8859-1" );
这样所需要的字节就有恢复了。
⑹ java里面byte数组和String字符串怎么转换
String类提供了一些接受字节数组作为参数的构造函数,比如:
public String(byte[] bytes)
public String(byte[] bytes,Charset charset)
public String(byte[] bytes,int offset,int length)
等,可以将byte数组转换为String。
同时,String类还重载了getBytes方法,可以将String转换为byte数组,比如:
public byte[] getBytes()
public byte[] getBytes(Charset charset)等。
⑺ java里面byte数组和String字符串怎么转换
Java中byte数组转换成string字符串可以直接使用string类的构造函数。而string转byte数组,则可以使用string类型的getBytes()方法进行转换,如下形式:
1、string转byte[]
Stringstr="Hello";//声明一个字符串
byte[]srtbyte=str.getBytes();//使用string类的getBytes方法进行转换
2、byte[]转string
byte[]srtbyte;//声明一个byte字节数组
Stringres=newString(srtbyte);//使用构造函数转换成字符串
System.out.println(res);
也可以将byte转换的时候,设定编码方式相互转换,如下代码:
Stringstr="hello";
byte[]srtbyte=null;
try{
srtbyte=str.getBytes("UTF-8");//设定转换的编码格式
Stringres=newString(srtbyte,"UTF-8");
System.out.println(res);
}catch(UnsupportedEncodingExceptione){//有可能会出现不能支持的编码格式,捕捉异常。
e.printStackTrace();
}
⑻ java里面byte数组和String字符串怎么转换
java中的String不属于基本数据类型,字符串是有一个个的字符组成的,字符数组就是字符串,因此,JDK提供了如下转换方法:
1.byte[]转换成String:
Stringstr=newString(byte[]bytes);
2.String转换成byte[]:
byte[]dataArray="HelloWorld!".getBytes();
以上便是jdk的String工具类提供的转换方法。
⑼ java里面byte数组和String字符串怎么转换
byte数组转换成String可以调用String的参数为byte数组的构造方法,代码如下:String res = new String(byte);
String转换成byte数组可以调用String的getByte方法,代码如下:byte[] srtbyte = str.getBytes();