字符串1& 0到原始数据

时间:2012-12-03 15:34:34

标签: java string file binary

我的网页中有一个随机的1和0的网页,我想将其视为原始二进制数据并将其保存到文件中。

<html>
    <head>...</head>
        <pre style="word-wrap: break-word; white-space: pre-wrap;">1 0 1 0 1 1 1 1 1 0</pre>
    </body>
</html>

或者,我可以将文件放在一列中。如果我只是url.openStream()并读取字节,它会吐出ascii值(49&amp; 48)。我也不确定如何一次写一个文件到一个文件。我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

  

&lt; pre style =“word-wrap:break-word; white-space:pre-wrap;”&gt; 1 0 1 0 1 1 1 1 1 0&lt; / pre&gt;

这可以作为两个(base64)或三个(十六进制)字节发送,所以我假设效率不是问题。 ;)提取字符串后,您可以使用。

进行转换
String s = "1 0 1 0 1 1 1 1 1 0";
long l = Long.parseLong(s.replaceAll(" ", ""), 2);

答案 1 :(得分:0)

您可以将位读取为字节,然后将字节写入文件:

int byteIndex = 0;
int currentByte = 0;
while (hasBits) {
    String bit = readBit();
    currentByte = currentByte << 1 | Integer.valueOf(bit);
    if (++byteIndex == 8) {
        writeByte(currentByte);
        currentByte = 0;
        byteIndex = 0;
    }
}

// write the rest of bits here

我也同意Robert Rouhani的观点,这是传递数据的非常低效的方式。