jjzjj

ByteArray

全部标签

java - 是否可以从其字节数组内容中找到图像文件扩展名?

这个问题在这里已经有了答案:HowToextractMimeTypefromabyte[][duplicate](3个答案)关闭8年前。图像文件已经作为字节数组存储到数据库中,是否可以从字节数组内容中找到图像文件扩展名?我可以从数据库中获取字节数组。我需要将图像文件显示到屏幕上。在显示之前,我希望有图片文件的扩展名,比如.png,.jpg或者.jpeg等。.

Java 错误 : possible loss of precision

我正在制作一个加密任何类型文件的小型Java程序。我这样做的方式如下:我打开输入文件,在与该文件大小相同的字节数组中读取它,然后进行编码,然后将整个数组写入名为输出的.dat文件。数据。为了索引字节数组,我使用了一个int类型的变量。代码:for(inti:arr){if(i>0){arr[i]=arr[i-1]^arr[i];}}'arr'是一个与输入文件大小相同的字节数组。我得到的错误:CodingEvent.java:42:error:possiblelossofprecisionarr[i]=arr[i-1]^arr[i];(箭头指向^运算符)必需:字节发现:整数怎么了?你能帮

java - 在 Java 中将 ByteBuffer 转换为 String

我有一个来自ByteBuffer的byte[]bytes,其中包含一个数据包。我想将数据包放入String中。目前我有以下内容byte[]bytes=packet.array();System.out.println("PacketString:"+newString(bytes));但是我最终得到以下输出PacketString:E����我试过这样编码System.out.println("PacketString:"+newString(bytes,Charset.forName("UTF-8")));但这不是正确的字符集。谁能告诉我是什么? 最佳答案

java - 用字节数组表示一个数(java编程)

我试图在一个双字节数组中表示端口号9876(或十六进制的0x2694):classfoo{publicstaticvoidmain(Stringargs[]){byte[]sendData=newbyte[1];sendData[0]=0x26;sendData[1]=0x94;}}但是我收到一条关于可能丢失精度的警告:foo.java:5:possiblelossofprecisionfound:intrequired:bytesendData[1]=0x94;^1error如何在不损失精度的情况下在两字节数组中表示数字9876?注意:我选择@Björn的代码作为正确答案,但@glo

java - 将字节数组转换为十进制

我有一个字节数组,我想根据我在这个数组中的数据做一些操作。字节数组的内容是十六进制格式。byte[]signal=message.getFieldValue("_DecoderMessage").data();这给了我包含以下内容的字节数组[ffff11ffff8205001300d700fcdc03040000010000001e000000520000]是否可以将此字节数组转换为包含十进制值的数组?或者,如果我对任何特定索引感兴趣,如何将该索引的值转换为十进制?假设我想转换字节数组中为01的索引18。顺便说一句,我正在使用Java。谢谢 最佳答案

Java 通过异或 2 个字节创建一个字节

我有2个字节数组,每个包含4个字节(byte1[]、byte2[]),我想对它们进行异或以创建一个新的4字节数组(byte3[]),我该怎么做?(甚至一次做每个字节,然后将它们放入新数组) 最佳答案 您需要将它们转换为整数(无损失,原始加宽),执行异或,然后使用位掩码将结果int转换回字节。//converttointsandxorintone=(int)byte1[0];inttwo=(int)byte2[0];intxor=one^two;//convertbacktobytebyteb=(byte)(0xff&xor);例子S

java - 使用java加密整数

我正在尝试使用java.security和javax.crypto在java中加密一些整数。问题似乎是Cipher类只加密字节数组。我不能直接将整数转换为字节字符串(我可以吗?)。执行此操作的最佳方法是什么?我是否应该将整数转换为字符串并将字符串转换为byte[]?这看起来效率太低了。有谁知道快速/简单或有效的方法吗?请告诉我。提前致谢。jbu 最佳答案 您可以使用DataOutputStream将int转换为byte[],如下所示:ByteArrayOutputStreambaos=newByteArrayOutputStream

java - BufferedImage 转字节 Java

我正在尝试从bufferedImage获取字节数组,但我的ByteArrayOutputstream的长度始终为零,而且我没有获取任何字节。这就是我在做的为什么这不起作用的任何想法BufferedImagescaledPicture=.....ByteArrayOutputStreambaos=newByteArrayOutputStream();ImageIO.write(scaledPicture,extension,baos);baos.flush();byte[]toByteArray=baos.toByteArray();baos.close();returntoByteAr

Java:如何 "trim"字节数组?

所以我有一些代码可以从文件中读取一定数量的字节并返回生成的字节数组(这基本上用于将文件分块以作为(最终)base64编码的ascii文本通过网络发送)。它工作正常,除了生成文件的最后一个block时,它不是一个完整的block。因此,生成的字节数组未满。然而,它是一个恒定大小,这意味着文件被重新组合,最后附加了一大堆额外的数据(可能是0)。我怎样才能使文件最后一block的byte[]真正只包含它需要的数据?代码如下所示:privatebyte[]readData(Filef,intstartByte,intchunkSize)throwsException{RandomAccessF

java - 位串 : checking if one bitstring is a subset of another

我将英文字母集表示为26位位串。第一位对应“a”,设置位对应“b”,依此类推。于是,字符串ab表示为11000000000000000000000000现在,给定两个位串,我想检查位串1是否是位串2的子集。也就是说,位串1在所有地方都有一个“1”,位串2也应该有一个“1”。这意味着string1中的所有字符也出现在string2中。有人可以告诉我执行此操作的最佳方法吗?我知道一个简单的方法如下:遍历bitstring1并检查bitstring2中的相应位。但是,我想知道是否可以使用一些位运算符以更有效的方式完成此操作 最佳答案 如果