Tag: 字节

比较字节值?

我很想知道为什么,当我将一个byte数组与一个值进行比较时…… boolean match = ((data[0] & 0xFF) == 0xFE); …返回true ,而…… boolean match = (data[0] == 0xFE); …才不是? data是一个byte数组 data[0] = (byte) 0xFE;

字符大小为8位还是16位?

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html ,字符大小为16位,即2字节。 不知怎的,我回忆起它的8位即1字节。 为了清除我的疑问,我创建了一个单字符“a”的文本文件并保存。 然后我检查了文件的大小,它的1个字节即8位。 我很困惑人物的大小? 如果是2字节,为什么文件大小是1字节,如果是1字节,为什么链接说2个字节?

理解Java无符号数

我想了解如何将有符号数转换为无符号数。 让我说我有这个: byte number = 127; // ‘1111111’ 为了使它无符号,我必须选择“更大”的数据类型“short”并应用值为0x00ff的AND运算符。 short number2; number2 = number & 0x00ff; 为什么这个号码没有签名?

从2或4个字节转换为有符号/无符号short / int

我必须将字节转换为signed / unsigned int或short。 以下方法是正确的吗? 签名哪个未签名? 字节顺序:LITTLE_ENDIAN public static int convertTwoBytesToInt1(byte b1, byte b2) { return (int) ((b2 << 8) | (b1 & 0xFF)); } VS. public static int convertTwoBytesToInt2(byte b1, byte b2) { return (int) (( (b2 & 0xFF) << 8) | (b1 & 0xFF)); } 和 public static int convertFourBytesToInt1(byte b1, byte b2, […]

为什么Java I / O中的字节可以表示字符?

为什么Java I / O中的字节可以表示字符? 我看到这些字符只是ASCII。 然后它不是动态的,对吧? 这有什么解释吗? 字节流和字符流有什么区别?

将字节数组加载到内存类加载器中

我想知道如何将字节数组加载到内存 URLClassLoader中? 字节数组是jar文件的解密字节(如下所示)! 大多数内存类加载器都使用ClassLoader而不是URLClassLoader! 我需要它使用URLClassLoader。 byte[] fileB = Util.crypt.getFileBytes(inputFile); byte[] dec; dec = Util.crypt.decrypt(fileB, “16LENGTHLONGKEYX”.getBytes()); //Load bytes into memory and load a class here? 谢谢!

了解Java字节

因此,在昨天的工作中,我不得不编写一个应用程序来计算AFP文件中的页面。 所以我除掉了我的MO:DCA规范PDF并找到了结构化字段BPG (Begin Page)及其3字节标识符。 该应用程序需要在AIX机器上运行,因此我决定用Java编写它。 为了获得最大效率,我决定读取每个结构化字段的前6个字节,然后跳过字段中的剩余字节。 这会让我: 0: Start of field byte 1-2: 2-byte length of field 3-5: 3-byte sequence identifying the type of field 所以我检查了字段类型并增加了一个页面计数器(如果它是BPG ,如果不是,我就不会。 然后我跳过字段中的剩余字节而不是通读它们。 在这里,跳过(实际上是字段长度)是我发现Java使用带符号字节的地方。 我做了一些谷歌搜索,发现了很多有用的信息。 当然,最有用的是执行按位& 0xff来获取unsigned int值的指令。 这对我来说是必要的,以获得可用于计算要跳过的字节数的长度。 我现在知道,在128,我们从-128开始向后计数。 我想知道的是按位运算在这里是如何工作的 – 更具体地说,我是如何得到负数的二进制表示。 如果我理解按位&正确,则结果等于只设置两个数字的公共位的数字。 假设byte b = -128 ,我们将: b & 0xff // 128 1000 0000-128 1111 1111 255 ——— […]

在Java中将字节转换为长度为4的布尔数组

我需要在Java中将一个字节转换为4个布尔数组。 我怎么能这样做?

在Java中,按位AND,按位包含或问题

我在项目中有几行代码,我看不到…的价值 buffer[i] = (currentByte & 0x7F) | (currentByte & 0x80); 它从文件读取文件缓冲区,存储为字节,然后传输到缓冲区[i],如图所示,但我无法理解总体目的是什么,任何想法? 谢谢

将密钥转换为字节,如何将其转换回密钥?

我使用以下代码将密钥转换为字节 SecretKey key = KeyGenerator.getInstance(“DES”).generateKey(); byte[] bkey=key.getEncoded(); 现在如何从bkey获取密钥? 我试过了: SecretKeySpec secretkey = new SecretKeySpec(bkey,”DES”); SecretKeyFactory sfkey = SecretKeyFactory.getInstance(“DES”); SecretKey skey = sfkey.generateSecret(secretkey); 我收到以下错误: Error during Exception java.security.spec.InvalidKeySpecException: Inappropriate key specification