我试着这样读:
static void branjeIzDatoteke(String location){
byte[] allBytes = new byte[10000];
try {
InputStream input = new FileInputStream(location);
int byteRead;
int j=0;
while ((byteRead = input.read())!=-1){
allBytes[j] = (byte)input.read();
}
String str = new String(allBytes,"UTF-8");
for (int i=0;i<=str.length()-8;i+=8){
//int charCode = Integer.parseInt(str.substring(i,i+8),2);
//System.out.println((char)charCode);
int drek = (int)str.charAt(i);
System.out.println(Integer.toBinaryString(drek));
}
} catch (IOException ex) {
Logger.getLogger(Slika.class.getName()).log(Level.SEVERE, null, ex);
}
}
我尝试只打印出字符串(当我创建string str=new string(allBytes,“UTF-8”)时),但我得到的只是开头的一个正方形,然后是70多个没有文本的空行。然后我尝试了int charCode=integer.parseint(str.substring(I,I+8),2);并打印出每个单独的字符,但我得到了一个NumberFormatException。我甚至尝试了转换,最后我尝试了Integer.ToBinaryString,但在本例中,我得到了1和0。这不是我想要的,我需要阅读实际的文本,但没有任何方法似乎是有效的。在使用我已经尝试过的方法之前,我实际上读过一个二进制文件:int charCode=integer.parseint(str.substring(I,I+8),2);System.out.println((char)charCode);但就像我说的,我得到一个NumberFormatException。我不明白为什么这些方法行不通。
如果要读取所有字节,可以使用java.nio.file.files
实用工具类:
Path path = Paths.get("test.p2b");
byte[] allBytes = Files.readAllBytes(path);
String str = new String(allBytes, "UTF-8");
System.out.print(str);
对str
内容进行迭代可能不起作用。某些UTF字符表示为代理对,即可以跨越多个char
的代码点(如本文所述)。由于您使用的是UTF,因此应该使用String#codePoinst()
方法来迭代代码点,而不是字符。
我有下一个代码,它试图将双精度类型的数字转换为二进制形式。我知道这个算法,数字的整数部分可以像整型数字一样转换成二进制,剩下的分馏部分可以这样转换: 这是转换整数部分的代码 问题是我必须以双数查看RAM内存的方式打印整个数字(8字节格式),例如,如果我有数字42.375,结果必须是101010.011。但是我不知道如何组合时()和for()的二进制数并将它们放入64位的数组中,例如: |00000
问题内容: 如何将文件转换为二进制文件?我的项目只需要它。我需要通过二进制文件加密文件。 问题答案: 如果您要访问ACTUAL BINARY形式,则读入文件并将每个字节转换为二进制表示形式… 编辑: 以下是一些代码,可将字节转换为带有位的字符串: 如果要访问文件中的字节,则只需使用以下代码(在第一种情况下也可以使用此代码): 要使用这两段代码,您现在可以遍历每个字节并使用以下位创建一个String
本文向大家介绍十进制到二进制转换,包括了十进制到二进制转换的使用技巧和注意事项,需要的朋友参考一下 十进制数字也可以转换为二进制格式。要将十进制数转换为二进制数,我们需要将数字除以2,直到达到0或1。然后,在每一步骤中,其余部分将分开存储以形成相反的二进制等效数。 在此算法中,我们将遵循递归方法。这将帮助我们在不使用堆栈数据结构的情况下解决问题。在实现中,我们知道函数的递归将遵循内部堆栈。我们将使
在你学习计算机的过程中,你可能已经接触了二进制。二进制在计算机科学中是很重要的,因为存储在计算机内的所有值都是以 0 和 1 存储的。如果没有能力在二进制数和普通字符串之间转换,我们与计算机之间的交互非常棘手。 整数值是常见的数据项。他们一直用于计算机程序和计算。我们在数学课上学习它们,当然最后用十进制或者基数 10 来表示它们。十进制 $$233_{10}$$ 以及对应的二进制表示 $$1110
我如何将一个写为二进制的字符串转换为二进制(字节数组)? 如果我有一个字符串: 下面是当我将二进制设置为字节数组时发生的情况(字节数组返回48,这是ASCII) 我不擅长解释,所以希望上面的例子足以告诉你我想要什么。
我正在尝试将数字从十进制值转换为其IEEE 752形式。例如: 我写了这个方法: 有个问题我解决不了,我再举个例子说清楚。 但是当数字为负数时,例如 我收到以下错误: 这意味着我的代码可以完美地处理正数(包括零),但如果是负数,代码就会崩溃。问题出在哪里? 笔记 我想我可以用这种方式解决我的问题 检查是否有一个字符At(0)等于1 如果是(numero.charAt(0)==1),则删除第一个字符