JAVA进行类型转换与字节数组与JAVA类型转换
来源:互联网 发布:什么是seo 编辑:程序博客网 时间:2024/05/17 18:42
前几天一个项目需要解析自定义的二进行LOG格式,因LOG文件为C语言写入,数据结构与JAVA不能完全匹配(最典型的是C中的unsigned类型与JAVA中的整型之间),引如下转换方式,备考:
一、JAVA进制类型转换
十进制转成十六进制:
Integer.toHexString(inti)
十进制转成八进制
Integer.toOctalString(inti)
十进制转成二进制
Integer.toBinaryString(inti)
十六进制转成十进制
Integer.valueOf("FFFF",16).toString()
八进制转成十进制
Integer.valueOf("876",8).toString()
二进制转十进制
Integer.valueOf("0101",2).toString()
有什么方法可以直接将2,8,16进制直接转换为10进制的吗?
java.lang.Integer类
parseInt(Strings, int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
examplesfrom jdk:
parseInt("0",10) returns 0
parseInt("473",10) returns 473
parseInt("-0",10) returns 0
parseInt("-FF",16) returns -255
parseInt("1100110",2) returns 102
parseInt("2147483647",10) returns 2147483647
parseInt("-2147483648",10) returns -2147483648
parseInt("2147483648",10) throws a NumberFormatException
parseInt("99",8) throws a NumberFormatException
parseInt("Kona",10) throws a NumberFormatException
parseInt("Kona",27) returns 411787
进制转换如何写(二,八,十六)不用算法
Integer.toBinaryString
Integer.toOctalString
Integer.toHexString
二、字节数组与JAVA类型转换
//long类型转成byte数组
public static byte[] longToByte(long number) {
long temp = number;
byte[] b = new byte[8];
for (int i = 0; i < b.length; i++) {
b[i] = new Long(temp & 0xff).byteValue();//
将最低位保存在最低位
temp =temp >> 8; // 向右移8位
}
return b;
}
//byte数组转成long
publicstatic long byteToLong(byte[] b) {
long s = 0;
long s0 = b[0] & 0xff;// 最低位
long s1 = b[1] & 0xff;
long s2 = b[2] & 0xff;
long s3 = b[3] & 0xff;
long s4 = b[4] & 0xff;// 最低位
long s5 = b[5] & 0xff;
long s6 = b[6] & 0xff;
long s7 = b[7] & 0xff;
//s0不变
s1 <<= 8;
s2 <<= 16;
s3 <<= 24;
s4 <<= 8 * 4;
s5 <<= 8 * 5;
s6 <<= 8 * 6;
s7 <<= 8 * 7;
s = s0 | s1 | s2 | s3 | s4 | s5 | s6 | s7;
return s;
}
/**
* 注释:int到字节数组的转换!
*
* @param number
* @return
*/
publicstatic byte[] intToByte(int number) {
int temp = number;
byte[] b = new byte[4];
for (int i = 0; i < b.length; i++) {
b[i] = new Integer(temp & 0xff).byteValue();//
将最低位保存在最低位
temp =temp >> 8; // 向右移8位
}
return b;
}
/**
* 注释:字节数组到int的转换!
*
* @param b
* @return
*/
publicstatic int byteToInt(byte[] b) {
int s = 0;
int s0 = b[0] & 0xff;// 最低位
int s1 = b[1] & 0xff;
int s2 = b[2] & 0xff;
int s3 = b[3] & 0xff;
s3 <<= 24;
s2 <<= 16;
s1 <<= 8;
s = s0 | s1 | s2 | s3;
return s;
}
/**
* 注释:short到字节数组的转换!
*
* @param s
* @return
*/
publicstatic byte[] shortToByte(short number) {
int temp = number;
byte[] b = new byte[2];
for (int i = 0; i < b.length; i++) {
b[i] = new Integer(temp & 0xff).byteValue();//
将最低位保存在最低位
temp =temp >> 8; // 向右移8位
}
return b;
}
/**
* 注释:字节数组到short的转换!
*
* @param b
* @return
*/
publicstatic short byteToShort(byte[] b) {
short s = 0;
short s0 = (short) (b[0] & 0xff);// 最低位
short s1 = (short) (b[1] & 0xff);
s1 <<= 8;
s = (short) (s0 | s1);
return s;
}
- JAVA进行类型转换与字节数组与JAVA类型转换
- JAVA进行类型转换与字节数组与JAVA类型转换
- Java字节流与类型转换
- JAVA IO流实现字节数组与任何基本类型和引用类型的相互转换
- 字节数组与String类型的转换
- java类型转换与强制类型转换
- java类型转换与强制类型转换
- JAVA字节数据与JAVA类型的转换
- [转]JAVA字节数据与JAVA类型的转换
- JAVA进行类型转换
- Mysql与Java类型转换
- JAVA类型提升与转换
- Java数组类型转换
- java int类型与char类型转换
- java数组定义与初始化,类型转换,instanceof的使用
- Java基本类型与byte数组之间相互转换
- java数值类型与二进制byte数组之间的转换
- Java基本类型与byte数组之间相互转换
- codeblocks+mingw+qt 组合的理解
- 基于wince6.0的流媒体播放《二》
- Windows SharePoint Service 3.0删除
- json2方法
- hibernate load 和 get 的一点区别
- JAVA进行类型转换与字节数组与JAVA类型转换
- 如果编程语言是汽车[转]
- 使用WTL::CBitmap时需要注意的一个事项
- 个人日常管理
- 求助IBM RAD7.0
- linux 下的C库函数大全
- QT中Unicode编码与字符串之间的转换
- The ways to paging
- java环境变量配置