Tag: byte

如何将Int转换为无符号字节和后退

我需要将一个数字转换成一个无符号的字节。 该数字总是小于或等于255,因此它将适合一个字节。 我还需要将该字节转换回该数字。 我将如何做到这一点在Java? 我已经尝试了几种方法,没有任何工作。 以下是我现在要做的事情: int size = 5; // Convert size int to binary String sizeStr = Integer.toString(size); byte binaryByte = Byte.valueOf(sizeStr); 现在将该字节转换回数字: Byte test = new Byte(binaryByte); int msgSize = test.intValue(); 显然,这是行不通的。 出于某种原因,它总是将数字转换为65 。 有什么build议么?

为什么“int i = 2147483647 + 1;”确定,但是“字节b = 127 + 1;”是不可编译的?

为什么是int i = 2147483647 + 1; 好的,但是byte b = 127 + 1; 不是可编译的?

#1071 – 指定的密钥太长; 最大密钥长度是767字节

当我执行下面的命令: ALTER TABLE `mytable` ADD UNIQUE ( `column1` , `column2` ); 我得到这个错误信息: #1071 – Specified key was too long; max key length is 767 bytes 有关column1和column2的信息: column1 varchar(20) utf8_general_ci column2 varchar(500) utf8_general_ci 我认为varchar(20)只需要21个字节,而varchar(500)只需要501个字节。 所以总字节数是522,小于767.那么为什么我会得到错误信息呢? #1071 – Specified key was too long; max key length is 767 bytes