Java:比特 - >字节 - >字符串编码

时间:2016-05-12 18:26:58

标签: java encoding byte utf

在Java中,我有一串比特,例如“01100111000111 ...”。接下来,我想做以下事情:

  1. 将字符串转换为我已成功完成的字节数组: byte[] bytes = new BigInteger(bits, 2).toByteArray();
  2. 接下来,我想将字节转换为我尝试使用的字符串: String byteString = new String(bytes, "UTF-8"); 但结果不正确(垃圾字符等)。
  3. 我认为“UTF-8”不是正确的编码。

    请告诉我是否有其他方法可以从这些字节或正确的编码中获取字符串。

1 个答案:

答案 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

希望这可以提供帮助。