我的网页中有一个随机的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)。我也不确定如何一次写一个文件到一个文件。我该怎么做呢?
答案 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的观点,这是传递数据的非常低效的方式。