例如,一个字节B中的位是10000010,我怎样才能将这些位从字面上分配给字符串str,即, str = "10000010".
For example, the bits in a byte B are 10000010, how can I assign the bits to the string str literally, that is, str = "10000010".
编辑
我从二进制文件中读取字节,并存储在字节数组B中.我使用 System.out.println(Integer.toBinaryString(B[i])).问题是
I read the byte from a binary file, and stored in the byte array B. I use System.out.println(Integer.toBinaryString(B[i])). the problem is
(a) 当位以(最左边的)1 开始时,输出不正确,因为它将 B[i] 转换为负 int 值.
(a) when the bits begin with (leftmost) 1, the output is not correct because it converts B[i] to a negative int value.
(b) 如果位以0开头,则输出忽略0,例如假设B[0]有00000001,输出是 1 而不是 00000001
(b) if the bits begin with 0, the output ignore 0, for example, assume B[0] has 00000001, the output is 1 instead of 00000001
使用整数#toBinaryString():
byte b1 = (byte) 129;
String s1 = String.format("%8s", Integer.toBinaryString(b1 & 0xFF)).replace(' ', '0');
System.out.println(s1); // 10000001
byte b2 = (byte) 2;
String s2 = String.format("%8s", Integer.toBinaryString(b2 & 0xFF)).replace(' ', '0');
System.out.println(s2); // 00000010
演示.
这篇关于如何将字节转换为其二进制字符串表示形式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
如何在 JTextPane 中的组件周围环绕文本?How to wrap text around components in a JTextPane?(如何在 JTextPane 中的组件周围环绕文本?)
MyBatis,如何获取插入的自动生成密钥?[MySql]MyBatis, how to get the auto generated key of an insert? [MySql](MyBatis,如何获取插入的自动生成密钥?[MySql])
在 Java 中插入 Oracle 嵌套表Inserting to Oracle Nested Table in Java(在 Java 中插入 Oracle 嵌套表)
Java:如何将 CLOB 插入 oracle 数据库Java: How to insert CLOB into oracle database(Java:如何将 CLOB 插入 oracle 数据库)
为什么 Spring-data-jdbc 不保存我的 Car 对象?Why does Spring-data-jdbc not save my Car object?(为什么 Spring-data-jdbc 不保存我的 Car 对象?)
使用线程逐块处理文件Use threading to process file chunk by chunk(使用线程逐块处理文件)