android byte转换工具类--笔记
来源:互联网 发布:玛雅软件培训 编辑:程序博客网 时间:2024/05/22 03:18
public abstract class ByteUtil{ private static final String TAG = "StringUtils"; private static long messageId = 0; /** * byte[] �?int * @param b * @return */ public static int bytesToInt(byte[] bytes, int startPos, int length) { byte[] temp = new byte[length]; System.arraycopy(bytes, startPos, temp, 0, length); int fromByte = 0; for (int i = 0; i < 4; i++) { int n = (temp[i] < 0 ? (int) temp[i] + 256 : (int) temp[i]) << (8 * (3 - i)); fromByte += n; } return fromByte; } /** * byte[] 转short * @param b * @return */ public static short bytesToShort(byte[] b, int startPos, int length) { byte[] temp = new byte[length]; System.arraycopy(b, startPos, temp, 0, length); return (short) (temp[1] & 0xff | (temp[0] & 0xff) << 8); } /** * byte[] �?String UTF-8编码 * @param b * @return * @throws UnsupportedEncodingException */ public static String bytesToString(byte[] bytes, int startPos, int length) { byte[] temp = new byte[length]; System.arraycopy(bytes, startPos, temp, 0, length); String returnStr = ""; try { returnStr = new String(temp, "UTF-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return returnStr; } public final static byte[] getBytes(short s) { byte[] buf = new byte[2]; for (int i = buf.length - 1; i >= 0; i--) { buf[i] = (byte) (s & 0x00ff); s >>= 8; } return buf; } public final static byte[] getBytes(int s) { byte[] buf = new byte[4]; for (int i = buf.length - 1; i >= 0; i--) { buf[i] = (byte) (s & 0x000000ff); s >>= 8; } return buf; } public static String bytesToHexString(byte[] src){ StringBuilder stringBuilder = new StringBuilder(""); if (src == null || src.length <= 0) { return null; } for (int i = 0; i < src.length; i++) { int v = src[i] & 0xFF; String hv = Integer.toHexString(v); if (hv.length() < 2) { stringBuilder.append(0); } stringBuilder.append(hv); } return stringBuilder.toString(); } public static byte[] hexStringToBytes(String hexString) { if (hexString == null || hexString.equals("")) { return null; } hexString = hexString.toUpperCase(); int length = hexString.length() / 2; char[] hexChars = hexString.toCharArray(); byte[] d = new byte[length]; for (int i = 0; i < length; i++) { int pos = i * 2; d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1])); } return d; } private static byte charToByte(char c) { return (byte) "0123456789ABCDEF".indexOf(c); } public static short bytesToShort2( byte[] b, int startPos, int length ) { int mask = 0x000000ff; int temp = 0; short n = 0; for( int i=0; i<2 && i<length; i++ ) { n <<= 8; temp = b[startPos+i] & mask; n |= temp; } return n; } public static int bytesToInt2( byte[] b, int startPos, int length ) { int mask = 0x000000ff; int temp = 0; int n = 0; for( int i=0; i<4 && i<length; i++ ) { n <<= 8; temp = b[startPos+i] & mask; n |= temp; } return n; } public static long bytesToLong2( byte[] b, int startPos, int length ) { int mask = 0x000000ff; int temp = 0; long n = 0; for( int i=0; i<8 && i<length; i++ ) { n <<= 8; temp = b[startPos+i] & mask; n |= temp; } return n; } }
阅读全文
0 0
- android byte转换工具类--笔记
- Android笔记:bitmap转换与处理相关工具类,Bitmap与DrawAble与byte[]与InputStream之间的转换
- Android笔记:bitmap转换与处理相关工具类,Bitmap与DrawAble与byte[]与InputStream之间的转换
- 文件大小Byte工具转换类
- android学习笔记 单位转换工具类
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类【转】
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类【转】
- android Bitmap与Drawable与byte[]与InputStream之间的转换工具类
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类
- android Bitmap与Drawable与byte[]与InputStream之间的转换工具类
- android 图片处理工具类,Bitmap转换String ,Drawable, byte[],保存,优化等。
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类【转】
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类【转】
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类【转】
- 购物车
- python学习笔记 一
- HTML5的结构
- SpringMVC之@PathVariable和RequestParam
- 2.6、映射
- android byte转换工具类--笔记
- 安卓SpannableString详解
- HTML+CSS+JavaScript小例题
- TabLayout(核心代码)
- Spring boot logback自定义配置
- handler轮播网上请求的图片
- double类型的精确计算工具
- muduo库源码学习(base)Condition
- HLS 协议详解