postman:Could not get any response

时间:2025-03-31 22:01:08
赫夫曼编码

shinelovelin: byte2BitString未处理最后一个byte小于8位的情况。、 验证字符串:i like like like java do you like a java 修正为: private static String byteToBitString(boolean flag, byte b) { int temp = b; // 如果是正数我们还存在补高位 |=256 正数相加,负数不变 // 按位与 256 1 0000 0000 | 0000 0001 => 1 0000 0001 if(flag){ temp |= 256; } /** * -88 对应的原码:11011000 最高位代表的是符号位,1为负数,0为正数 * -88 对应的反码:10100111 符号位不变,其他位取反 * -88 对应的补码:10101000 反码+1 * 返回的是temp对应的二进制的补码 -88 11111111111111111111111110101000 * toBinaryString :负数高位补1,正数高位补0,相当于没补,0不显示 */ String s = (temp); if(flag){ return (() - 8); } /** * 为啥减8?因为只有后8位才是有效的!负数高位补1,需要去除,正数在!=256相当于+256,此时大于256,高位是多于的,需要去除 */ return s; }