如何解决如何将 0 和 1 的字符串转换为无符号字节?
这里,我有一个包含 0,1,-1 的数组。我正在将所有 -1 替换为 0,然后创建一个由 0 和 1 组成的字符串。稍后,将字符串转换为 Byte,但默认情况下,Byte.parseByte() 将字符串转换为有符号的 Byte。请向我建议将其转换为无符号字节的解决方案。
[[[([1,2])]<-(*2*)->[([3,4,5])]]<-(*1*)->[([6,7])]]<-(*0*)->[[([8,9,10])]<-(*1*)->[([11,12])]]
样本输出:
public class Test{
public static void main(String []args){
int[][] intArray = new int[][]{
{-1,-1,0},{1,{-1,0}
};
for(int j=0; j<intArray.length;j++){
String BitString = "";
for(int i=0; i<8;i++ ){
if (intArray[j][i] == -1){
BitString = BitString + "0";
}
else{
BitString = BitString + intArray[j][i];
}
}
System.out.println(BitString);
try{
Byte b = Byte.parseByte(BitString,2);
System.out.println(b);
System.out.println(b.getClass().getName());
}
catch(Exception e){
System.out.println(e.toString());
}
System.out.println("\n");
}
}
}
解决方法
将 8 个 0 和 1 的二进制字符串转换为无符号字节很容易:
(byte) Integer.parseInt(string,2);
没有理由使用 Byte.parseByte
,因为它不会接受输入。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。