在Java中,我有一串比特,例如“01100111000111 ...”。接下来,我想做以下事情:
byte[] bytes = new BigInteger(bits, 2).toByteArray();
String byteString = new String(bytes, "UTF-8");
但结果不正确(垃圾字符等)。 我认为“UTF-8”不是正确的编码。
请告诉我是否有其他方法可以从这些字节或正确的编码中获取字符串。
答案 0 :(得分:-1)
在您的评论后编辑:
String string = "01100111000111";
byte[] bytes = new BigInteger(string, 2).toByteArray();
String out = "";
for(byte b: bytes)
out+= String.format("%8s", Integer.toBinaryString(b & 0xFF)).replace(' ', '0');
System.out.println(out);
输出:
0001100111000111
希望这可以提供帮助。