java基础类型
java的基础类型有8中,如下
基本类型大小范围/精度byte 1字节?-128到127short 2 字节?-32,768到32,767char2 字节整个Unicode字符集int4 字节 -2,147,483,648到2,147,483,647 float4 字节32位IEEE 754单精度long 8 字节?-9,223,372,036,854,775,808到9,223,372,036, 854,775,807 double 8 字节?64位IEEE 754双精度boolean 1 位True或者false
如果使用十六进制,8位可以转换成一个字节,如"0B",可以转成一个byte,同样一个byte也可以转换成两个是(8位)十六进制字符。如:
//hex --> byte
??????? String hex="0B";
??????? byte b=(byte)Integer.parseInt(hex, 16);
??????? System.out.println(b);?? //--> 11
//byte --> hex
??????? byte b = 12;
??????? StringBuffer sb = new StringBuffer(2);
??????? if (((int) b & 0xff) < 0x10){
??????????? sb.append("0");
??????? }
??????? sb.append(Long.toString((int) b & 0xff, 16));
??????? System.out.println(sb.toString());? //--> 0C
在byte传输的层级是不用考虑编码格式问题,如果我们传输数据时使用的byte数组等,当我们使用byte数组,并将其转换成String时才会存在编码的问题,常用的编码格式有utf-8,gbk,gb2312等。String内部的存储单元的char,所以编码是在byte和char之间的存在的。
?
??????? String s="测试";
??????? byte[] bytes=s.getBytes("gbk");
???????? ....
??????? String ss=new String(bytes, "gbk");
?
?
?
?
??
?