Android 类型转换 工具函数
Android 类型转换 工具函数
Android中类型转换好像支持不是太好,备份下有用的类型转换函数和工具函数.
一、类型转换
1.byte 转 int ( int 可以再转成long double float )
- public static int byteToInt(byte[] data, int offset)
- {
- int result = 0;
- int n1, n2, n3, n4;
- n1 = data[offset + 3] & 0xFF;
- n2 = data[offset + 2] & 0xFF;
- n3 = data[offset + 1] & 0xFF;
- n4 = data[offset] & 0xFF;
- result = n1 << 24 | n2 << 16 | n3 << 8 | n4;
- return result;
- }
2. byte 转 Hex
- public static String toHexString(byte[] b)
- {
- char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
- 'A', 'B', 'C', 'D', 'E', 'F' };
- StringBuilder sb = new StringBuilder(b.length * 2);
- for (int i = 0; i < b.length; i++)
- {
- sb.append(HEX_DIGITS[(b[i] & 0xf0) >> 4]);
- sb.append(HEX_DIGITS[b[i] & 0x0f]);
- }
- return sb.toString();
- }
3. HexString 转 long
- public static long hexStringToLong(String s)
- {
- String serial = "0123456789ABCDEF";
- s = s.trim().toUpperCase();
- if( s.length() > 8 ) return 0;
- long num = 0;
- int len = s.length();
- for( int i = 0; i < len; i++)
- {
- num += (serial.indexOf( s.charAt(i) ) << (4 * (len - i - 1)));
- }
- return num;
- }
|
评论暂时关闭