这个非常简单,
使用一个变量
test=1;
然后循环<<<左移8次,
和你要检查的字节byte进行& *** 作,
如果结果是0 那么这一位的2进制就是0,否则就是1。
一楼是培训速成出来的吧,
连2进制都不知道。
杯具。
byte[] bytes=new byte[1024];
public byte[] getByte(int n){
if(n>1024){
throw new Exception("数组所求大于原数组");
}
byte[] result=new byte[n];
for(int i=0;i<n;i++){
result[i]=bytes[i];
}
for(int i=0;i<byteslength;i++){
if(i>=length-n-1){
bytes[i]=(byte)(Mathrandom()255);
}
bytes[i]=bytes[length-n-1+i];
}
}
没有现成的 一般都是我们自己写工具类 可以给你占几个常用的方法:
public static int splitToArray(String[] strCompName, int count, int len, int amount, int repariFeeIndex, String strPrefix) throws Exception {
String [] strCompNameTemp ;
if(strCompName[count]length() > len) {
strCompNameTemp = splitToArray(strCompName, count, len, strPrefix);
for(int compIndex=0; compIndex<strCompNameTemplength; compIndex++) {
if((repariFeeIndex + compIndex)>amount) {
break;
}
if(compIndex != 0) {
count++;
}
strCompName[count] = strCompNameTemp[compIndex];
}
} else if(count != 0){
strCompName[count] = strPrefix + strCompName[count];
}
return ++count;
}
// byte转换成标准8位二进制的字符串
public static String byteToStandardBinay(byte b) {
String binaryStr = "0000000" + IntegertoBinaryString(b);
binaryStr = binaryStrsubstring(binaryStrlength() - 8, binaryStrlength());
return binaryStr;
}
// main方法测试
public static void main(String[] args) throws Exception {
byte b = 44, b1 = 19, b2 = 58;
Systemoutprintln(byteToStandardBinay(b));
// 将两个byte对应的二进制组合成16位的二进制
String combBinary = byteToStandardBinay(b1) + byteToStandardBinay(b2);
// 16位的二进制转换成10进制
int val = IntegerparseInt(combBinary, 2);
Systemoutprintln(val);
}
String s = new String(byte[] b);就得到一个汉字了。
如果出来的汉字有乱码,可以设置编码:String s = new String(byte[] b,String charset);
以上就是关于Java 怎么才能读取一个字节里的每一位的2进制信息全部的内容,包括:Java 怎么才能读取一个字节里的每一位的2进制信息、跪求一个可以从固定1024大小的byte数组中,从0至N-1提取N个byte的java算法、在java中 *** 作 byte数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)