我怎么能保存一个字符串字节而不丢失信息?

MikeSuspend:

我正在开发一个JPEG解码器(我在霍夫曼相),我想BinaryString的写入文件。例如,假设我们已经这样:

String huff = "00010010100010101000100100";

我已经试过了8将其转换为整数的分裂,并保存它的整数represantation,因为我不能写位:

huff.split("(?<=\\G.{8})"))
int val = Integer.parseInt(str, 2);
out.write(val); //writes to a FileOutputStream

问题是,在我的例子,如果我试图挽救“00010010”也将其转换为18(10010),和我需要0。

最后,当我读到:

int enter;
String code = "";
    while((enter =in.read())!=-1) {
            code+=Integer.toBinaryString(enter);
        }

我有 :

Code = 10010

代替:

Code = 00010010

此外,我一直试图将其转换为位集合,然后为byte [],但我有同样的问题。

kaya3:

你举的例子是,你必须在字符串"10010"和你想要的字符串"00010010"也就是说,你需要离开垫此字符串零。需要注意的是,因为你要加入很多电话的结果,Integer.toBinaryString在一个循环中,你需要左垫内环路这些字符串,串联在他们面前。

while((enter = in.read()) != -1) {
    String binary = Integer.toBinaryString(enter);
    // left-pad to length 8
    binary = ("00000000" + binary).substring(binary.length());
    code += binary;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我怎么能确定一个字符串中只包含一个数字吗?

我怎么能一个字符串分隔成列,如果我有多个行和字符串都在SQL不同长度的?

我怎么能一个字符转换成int类型的Java?

合并字母,以形成一个字符串,并与现有的字符串比较?我很新到Java,我怎么能写什么逻辑?

Java。getClass()返回一个类,我怎么也可以得到一个字符串?

当我增加一个字符,并在Java中的字符串这是怎么回事?

我怎么知道一个字符串中替换了多少个匹配项?

为什么read()输出一个字节而不是一个字符串?

在一个字节内托管Color.argb(a,r,g,b)而不会丢失信息

我怎么能压扁一个List <名单<名单<字符串>>>

一次更改一个字符串中的一个字符,不更改字符串吗?

一个字符串在x64中占用多少字节?

Python / Django-需要一个字符串或类似字节的对象

如何检查一个字符串不包含另一个字符串的文本?

我想将 eclipse 控制台日志保存到一个字符串中

C ++ fstream仅保存字符串的第一个字符

如何从C中的字符串保存最后一个字符?

我怎么可能将一个字符串分解成科特林一个数组?

返回一个字符串

For 循环一个字符串

收到一个字符串

如何概括我的算法以检测一个字符串是否是另一个字符串的旋转

如何检查一个字符串是否不包含某个单词?

如果字符串javascript的最后一个字符,我如何摆脱?

我想将字符组合成一个字符串

给定一个字符串,返回一个字符串

在一个字符串中保存多个数组

Java 扩展返回一个 Bitmap(image) 作为一个字节数组作为一个字符串,我需要在我的游戏中显示图像。如何?

为什么 long double 在一个字符串中只占用 10 个字节?