1. java里面byte数组和String字符串怎么转换
byte数组转换成String可以调用String的参数为byte数组的构造方法,代码如下:String res = new String(byte);
String转换成byte数组可以调用String的getByte方法,代码如下:byte[] srtbyte = str.getBytes();
2. java怎么把string转换成数组
转换为char数组的话,利用getChars方法,
public void getChars(int srcBegin,
int srcEnd,
char[] dst,
int dstBegin)
将字符从此字符串复制到目标字符数组。
要复制的第一个字符位于索引 srcBegin 处;要复制的最后一个字符位于索引 srcEnd-1
处(因此要复制的字符总数是 srcEnd-srcBegin)。要复制到 dst 子数组的字符从索引
dstBegin 处开始,并结束于索引:
dstbegin + (srcEnd-srcBegin) - 1
参数:
srcBegin - 字符串中要复制的第一个字符的索引。
srcEnd - 字符串中要复制的最后一个字符之后的索引。
dst - 目标数组。
dstBegin - 目标数组中的起始偏移量。
抛出:
IndexOutOfBoundsException
- 如果下列任何一项为 true:
srcBegin 为负。
srcBegin 大于 srcEnd
srcEnd 大于此字符串的长度
dstBegin 为负
dstBegin+(srcEnd-srcBegin) 大于
dst.length
转化为byte数组的话,
getBytes
public byte[] getBytes(String charsetName)
throws UnsupportedEncodingException
使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
当此字符串不能使用给定的字符集编码时,此方法的行为没有指定。如果需要对编码过程进行更多控制,则应该使用 CharsetEncoder
类。
参数:
charsetName - 受支持的 charset 名称
返回:
所得 byte 数组
3. 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();
}
4. Java中,String类型怎么转换成byte类型输出
程序如下:
String s = "fs123fdsa";//“fs123fdsa”是输入的string变量
byte b[] = s.getBytes();//String转换为byte[]
String t = new String(b);//bytep[]转换为String
5. 在java中,将一个String类型的值转换为byte类型,只能占2个字节存储。
Byte.parseByte(s, 16)将s转换成有符号数 ,这一个字节能表示的范围是:-128~127,下面的代码是在搜来的代码基础上稍做了修改,调用的时候你只要把temperature传进去即可得到转换后的byte数组,byte数组的长度由temperature的值决定,你要求只能占2个字节存储的话temperature的长度就要确保不超过4,这由你自己的代码来约束。
public static byte[] hex2byte(String hex) {
String digital = "0123456789ABCDEF";
char[] hex2char = hex.toCharArray();
byte[] bytes = new byte[hex.length() / 2];
int temp;
for (int i = 0; i < bytes.length; i++) {
temp = digital.indexOf(hex2char[2 * i]) * 16;
temp += digital.indexOf(hex2char[2 * i + 1]);
bytes[i] = (byte) (temp & 0xff);
}
return bytes;
}
6. 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" );
这样所需要的字节就有恢复了。
7. java怎么将string转换成byte数组
思路:先定义字符串,再通过getBytes()方法进行转换数组就可以了。
参考代码:
Strings="ZhiDao";//定义字符串
byte[]sb=s.getBytes();//把字符串转换成数组
String的getBytes()方法是得到一个系统默认的编码格式的字节数组。将一个String类型的字符串中包含的字符转换成byte类型并且存入一个byte[]数组中。
8. java string数组转byte数组
例
String[] str={1,2,3,4,5,6,7};或者String[] str = new String[]{"aaaa","bbbb","cccc"};
StringBuilder b=new StringBuilder();
for(String s:str){
b.append(s);
}
byte b[] =b.toString.getBytes();
记到给分直接把代码拷去用把
上面的数组你换成自己的
9. java中如何将字符串转化成特定长度的字节数组
publicclassTest{
publicstaticvoidmain(String[]args){
byte[]byteArray="Test".getBytes();
byte[]byteArray2="测试".getBytes();
System.out.println("byteArray.length="+byteArray.length);
System.out.println("byteArray2.length="+byteArray2.length);
for(inti=0;i<byteArray.length;i++)
System.out.print((char)byteArray[i]);
System.out.println();
for(inti=0;i<byteArray2.length;i++)
System.out.print((char)byteArray2[i]);
}
}
汉字2个字节编码,1个汉字转换成2bytes