字节数组转换成二进制字符串

时间:2023-01-11 14:57:14
String a="hello";
byte[] b=a.getBytes;
String c="";
for(int i=0;i<a.length;i++){
c=c+Integer.toBinaryString(b[i]);
}
system.out.println(c);

请问如何将一个字节数组转换成二进制字符串?  我试了上面的方法  发现不对。。。
顺便请问如何将二进制字符串转换成字节数组

7 个解决方案

#1


有个方法!循环的时候用stringbuffer 存!!反之一样

#2


.....没看题目!!!1楼忽略!

#3


// string转byte
byte[] b= str.getBytes();
System.out.println(Arrays.toString(b));

// byte转string
String str2 = new String(b);
System.out.println(str2);

#4


二进制字符串? 0,1那种?
char[] chs = str.toCharArray();
String bs = "";
for(char c:chs){
bs += Integer.toBinaryString(c);
}

#5


引用 3 楼 u011248395 的回复:
// string转byte
byte[] b= str.getBytes();
System.out.println(Arrays.toString(b));

// byte转string
String str2 = new String(b);
System.out.println(str2);


我是想将一个byte[] 数组转成01010这种字符串   
字节数组转字符串的已经弄出来了

String ZERO = "00000000";
String c = "";
byte[] result = d.desCrypto(o.getBytes(), k);
for (int i = 0; i < result.length; i++) {
String s = Integer.toBinaryString(result[i]);
if (s.length() > 8) {
  s = s.substring(s.length() - 8);
} else if (s.length() < 8) {
  s = ZERO.substring(s.length()) + s;
}
c = c + s;
}

但是字节数组转字符串的还是不懂。。。

#6


引用 4 楼 AFer198215 的回复:
二进制字符串? 0,1那种?
char[] chs = str.toCharArray();
String bs = "";
for(char c:chs){
bs += Integer.toBinaryString(c);
}

我是想将一个byte[] 数组转成01010这种字符串   
字节数组转字符串的已经弄出来了

String ZERO = "00000000";
String c = "";
byte[] result = d.desCrypto(o.getBytes(), k);
for (int i = 0; i < result.length; i++) {
String s = Integer.toBinaryString(result[i]);
if (s.length() > 8) {
  s = s.substring(s.length() - 8);
} else if (s.length() < 8) {
  s = ZERO.substring(s.length()) + s;
}
c = c + s;
}

但是字节数组转字符串的还是不懂。。。

#7


说错了。。。是二进制字符串转换成字节数组

#1


有个方法!循环的时候用stringbuffer 存!!反之一样

#2


.....没看题目!!!1楼忽略!

#3


// string转byte
byte[] b= str.getBytes();
System.out.println(Arrays.toString(b));

// byte转string
String str2 = new String(b);
System.out.println(str2);

#4


二进制字符串? 0,1那种?
char[] chs = str.toCharArray();
String bs = "";
for(char c:chs){
bs += Integer.toBinaryString(c);
}

#5


引用 3 楼 u011248395 的回复:
// string转byte
byte[] b= str.getBytes();
System.out.println(Arrays.toString(b));

// byte转string
String str2 = new String(b);
System.out.println(str2);


我是想将一个byte[] 数组转成01010这种字符串   
字节数组转字符串的已经弄出来了

String ZERO = "00000000";
String c = "";
byte[] result = d.desCrypto(o.getBytes(), k);
for (int i = 0; i < result.length; i++) {
String s = Integer.toBinaryString(result[i]);
if (s.length() > 8) {
  s = s.substring(s.length() - 8);
} else if (s.length() < 8) {
  s = ZERO.substring(s.length()) + s;
}
c = c + s;
}

但是字节数组转字符串的还是不懂。。。

#6


引用 4 楼 AFer198215 的回复:
二进制字符串? 0,1那种?
char[] chs = str.toCharArray();
String bs = "";
for(char c:chs){
bs += Integer.toBinaryString(c);
}

我是想将一个byte[] 数组转成01010这种字符串   
字节数组转字符串的已经弄出来了

String ZERO = "00000000";
String c = "";
byte[] result = d.desCrypto(o.getBytes(), k);
for (int i = 0; i < result.length; i++) {
String s = Integer.toBinaryString(result[i]);
if (s.length() > 8) {
  s = s.substring(s.length() - 8);
} else if (s.length() < 8) {
  s = ZERO.substring(s.length()) + s;
}
c = c + s;
}

但是字节数组转字符串的还是不懂。。。

#7


说错了。。。是二进制字符串转换成字节数组