gpt4 book ai didi

java - 在java中将String类型的二进制数转换为位

转载 作者:搜寻专家 更新时间:2023-11-01 02:49:41 25 4
gpt4 key购买 nike

我有一个关于将String类型二进制数转换为bit并写入txt文件的问题。

例如我们有像“0101011”这样的字符串,想转换成位类型“0101011”然后写入磁盘上的文件。

我想知道有没有办法把字符串转换成位..

我在网上搜索他们建议使用 bitarray 但我不确定

谢谢

最佳答案

试试这个:

int value = Integer.parseInt("0101011", 2); // parse base 2

然后value 中的位模式将对应于字符串"0101011" 的二进制解释。然后,您可以将 value 作为 byte 写入文件(假设字符串不超过 8 个二进制数字)。

编辑 您也可以使用 Byte.parseByte("0101011", 2);。但是,Java 中的字节值始终是有符号的。如果您尝试解析第 8th 位设置的 8 位值(如 "10010110",十进制为 150),您将得到 NumberFormatException 因为大于 +127 的值不适合 byte。如果您不需要处理大于 "01111111" 的位模式,则 Byte.parseByteInteger.parseInt 一样有效。

不过,回想一下,要将一个字节写入文件,您可以使用 OutputStream.write(int),它需要一个 int(而不是 byte) 值——即使它只写入一个字节。不妨从 int 值开始。

关于java - 在java中将String类型的二进制数转换为位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13694312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com