在java中将位字符串转换为unicode字符



我正在尝试将一串比特转换为java中的Unicode字符。问题是我只能看到中文标志等。

String bits = "01010011011011100110000101110010"

有人知道怎么做吗?

Values <= 32bits

使用Integer.parseInt解析二进制字符串,然后将其转换为字节数组(使用ByteBuffer),最后将字节数组转换为String:

String bits = "01010011011011100110000101110010"
new String(
    ByteBuffer.allocate(4).putInt(
        Integer.parseInt(bits, 2)
    ).array(), 
    StandardCharsets.UTF_8
);

Values> 32位

对于任意大的bits字符串,您也可以使用BigInteger:

new String(
    new BigInteger(bits, 2).toByteArray(),
    StandardCharsets.UTF_8
);
结果

Snar

相关内容

  • 没有找到相关文章

最新更新