Tag: 字节

Java – 为什么char会被隐式地转换为byte(和short)原语,而不应该?

编译器的某些function让我感到困惑(使用Eclipse的Oracle JDK 1.7)。 所以我有这本书说char原语需要明确地转换为short和byte,这一切都有意义,因为数据类型的允许范围不重叠。 换句话说,下面的代码可以工作(但如果没有显式类型转换,则无法工作): char c = ‘&’; byte b = (byte)c; short s = (short)c; 正确打印b或s会显示数字38,这是Unicode中(&)的数字等效值。 这让我想到了我的实际问题。 为什么以下工作也一样? byte bc = ‘&’; short sc = ‘&’; System.out.println(bc); // Correctly displays number 38 on the console System.out.println(sc); // Correctly displays number 38 on the console 现在我肯定会理解以下内容(也适用): byte bt = (byte)’&’; System.out.println(bt); // Correctly displays […]

如何从javafx imageView获取byte ?

我如何从javafx image / imageview类中获取byte []? 我想将我的图像作为Blob存储到我的数据库中。这是我用它的方法 public PreparedStatement prepareQuery(HSQLDBConnector connector) { try { Blob logoBlob = connector.connection.createBlob(); logoBlob.setBytes(0,logo.getImage());//stuck here for (int i = 0, a = 1; i < data.length; i++, a++) { connector.prepStatCreateProfile.setString(a, data[i]); } //store LOB connector.prepStatCreateProfile.setBlob(11, logoBlob); } catch (SQLException ex) { ex.printStackTrace(); } return connector.prepStatCreateProfile; } 有没有办法从我当前的对象(imageview),图像转换为byte [] ?,或者shoud我开始考虑使用其他类作为我的图像/或者指向带引用的位置并使用路径/url?

java位操作

byte x = -1; for(int i = 0; i >> 1); System.out.println(“X: ” + x); } 据我了解,java以二进制补码存储数据,意思是-1 = 11111111(根据维基百科)。 此外,从java文档:“位模式由左侧操作数给出,以及由右侧操作数移位的位置数。无符号右移位运算符”>>>“将零移位到最左侧位置,而“>>”后面的最左边位置取决于符号扩展。“ 这意味着>>>每次都会将0移到最左边的位。 所以我期待这段代码 迭代:x的位表示 0:11111111 1:01111111 2:00111111 3:00011111 ……等等 但是,我的输出总是X:-1,这意味着(我猜)>>>将符号位放在最左边的位置。 所以我然后尝试>>,同样的结果。 这是怎么回事? 我希望我的输出为:X:-1,x:127,x:63等。

在Java中将hex字符串转换为一个字节

在Java中,如何将字节的hex字符串表示(例如“1e”)转换为字节值? 例如: byte b = ConvertHexStringToByte(“1e”);

为什么字节总和是整数?

我有tyo字节变量 byte a = 3; byte b = 4; 如果我求它们,sum的值是整数。 byte z = a+b //error, left side is byte, right side is integer 为什么a + b是int?

将二进制字符串转换为字节数组

我有一串1和0,我想转换为字节数组。 例如, String b = “0110100001101001”如何将其转换为长度为2的byte[] ?

Java:为什么我收到错误消息“类型不匹配:无法将int转换为byte”

如果声明byte或short类型的变量并尝试对这些变量执行算术运算,则会收到错误“Type mismatch:can int int int to short”(或相应的“Type mismatch:not int int int to byte”)。 byte a = 23; byte b = 34; byte c = a + b; 在此示例中,编译错误位于第三行。

2个字节来缩短java

我正在读取来自serialport的133长度数据包,最后2个字节包含CRC值,2个字节值我使用java制作单个(我想)。 这就是我所做的, short high=(-48 & 0x00ff); short low=80; short c=(short) ((high<<8)+low); 但是我没有得到正确的结果,是因为签名有问题吗? 我怎么能解决这个问题,请帮我解决这个问题

Java创建字节数组,其大小由long表示

我正在尝试创建一个大小类型为long的字节数组。 例如,将其视为: long x = _________; byte[] b = new byte[x]; 显然,您只能为字节数组的大小指定一个int 。 在有人问为什么我需要一个如此大的字节数组之前,我会说我需要封装我没有编写的消息格式的数据,其中一个消息类型的长度为unsigned int(Java中long )。 有没有办法创建这个字节数组? 我在想如果没有办法解决它,我可以创建一个字节数组输出流并继续输入它的字节,但我不知道是否对字节数组的大小有任何限制……

如何在Java中将hex字符串转换为字节值

我有一个String数组。 我想将其转换为字节数组。 我使用Java程序。 例如: String str[] = {“aa”, “55”}; 转换成: byte new[] = {(byte)0xaa, (byte)0x55}; 我能做什么?