我现在想得到 “你” 这字的二进制表示,按理说GBK占2个字节 ,一个字节是8个二进制位 。2个字节就是16个二进制位
实际代码如下:
String s = "你";
byte[] bs = s.getBytes("gbk");
for (byte b : bs) {//循环两次
Byte gg = new Byte(b);
System.out.println(Integer.toBinaryString(gg.intValue()));//11111111111111111111111111000100
System.out.println(Integer.toBinaryString(gg.intValue()).length());//32
}
------解决思路----------------------
String s = "你";
byte[] bs = s.getBytes("gbk");
for (byte b : bs) {//循环两次
//Byte gg = new Byte(b);
System.out.println(b&0xff);
System.out.println(Integer.toBinaryString(b&0xff));//11111111111111111111111111000100
System.out.println(Integer.toBinaryString(b&0xff).length());//32
}
java中:中文是以char表示的,char的取值为0~65535
用&0xff把byte的负值改为正直
------解决思路----------------------
很好
------解决思路----------------------
我觉得很有用
------解决思路----------------------
粗体可以用吗