1, 获取big5
2, 获取ba[i](共32位)的后8位,
3, 后16位,上面说的位是bit,也就是一个0或1for(int i=0;i<1000;i++){
String s=Integer.toHexString(i);
while(s.length()<4){
s="0"+s;
}
System.out.println(s);
}
2, 获取ba[i](共32位)的后8位,
3, 后16位,上面说的位是bit,也就是一个0或1for(int i=0;i<1000;i++){
String s=Integer.toHexString(i);
while(s.length()<4){
s="0"+s;
}
System.out.println(s);
}
//把字符串按照 BIG5 编码方式 变成 byte 数组
Integer.toHexString((int)ba[i]&0xff);
//&0xff 用 11111111 填充高位 ,变成双字节的编码
Integer.toHexString((int)s.charAt(i)&0xffff);
// 用 ff 填充高位,变成双字的编码
Integer.toHexString((int)s.charAt(i)&0xffff);
与(AND)运算&
a&b
只有a,b都是1的时候上述表达式的植才是1
否则就是0
ff:11111111
按照上述运算标准就实现了用11111111填充高位
填充高位的方法就是这样的
1个字的长度是8bit,双字就是16bit
ffff:1111111111111111
这样用&就能实现