Android常用数据类型转换
程序员文章站
2023-04-03 11:54:34
String转int、float、double、byte[]、bitmap Int转string、byte[] Byte[]转string、int、bitmap Bitmap转string、byte[] 从资源文件中获取Bitmap Gson高精度String、Float[]互转(测试可保留6位数以 ......
String转int、float、double、byte[]、bitmap
Int i = Integer.parseInt(str); Float f = Float.parseFloat(str); Double d = Double.parseDouble(str); //将16进制字符串转byte数组 public static byte[] hexStringToByte(String str) { if(str == null || str.trim().equals("")) { return new byte[0]; } byte[] bytes = new byte[str.length() / 2]; for(int i = 0; i < str.length() / 2; i++) { String subStr = str.substring(i * 2, i * 2 + 2); bytes[i] = (byte) Integer.parseInt(subStr, 16); } return bytes; } String.format("%04x", i);//将10进制整形转16进制字符串,%04x2字节表示不足位补0 //将String字符串转回Bitmap public Bitmap stringToBitmap(String string) { Bitmap bitmap = null; try { byte[] bitmapArray; bitmapArray = Base64.decode(string, Base64.DEFAULT); bitmap = BitmapFactory.decodeByteArray(bitmapArray, 0,bitmapArray.length); } catch (Exception e) { e.printStackTrace(); } return bitmap; }
Int转string、byte[]
String str = String.valueOf(i);//效率最高 //将Int转byte[]数组 public static byte[] intToBytes2(int n){ byte[] b = new byte[4]; for(int i = 0;i < 4;i++){ b[i] = (byte)(n >> (24 - i * 8)); } return b; }
Byte[]转string、int、bitmap
//byte数组转16进制字符串 private String bytes2HexString(byte[] b, int length) { StringBuilder r = new StringBuilder(); for (int i = 0; i < length; i++) { String hex = Integer.toHexString(b[i] & 0xFF); if (hex.length() == 1) { hex = "0" + hex; } r.append(hex.toUpperCase()); } return r.toString(); } //byte数组转16进制字符串 public static int byteToInt(byte[] b) { int mask=0xff; int temp=0; int n=0; for(int i=0;i<b.length;i++){ n<<=8; temp=b[i]&mask; n|=temp; } return n; } //byte数组转bitmap byte[] b = getIntent().getByteArrayExtra("bitmap"); Bitmap bitmap = BitmapFactory.decodeByteArray(b, 0, b.length); //将byte数组以16进制的形式打印到控制台 public static void printHexString( byte[] b) { StringBuilder str= new StringBuilder(); for (byte aB : b) { String hex = Integer.toHexString(aB & 0xFF); if (hex.length() == 1) { hex = '0' + hex; } str.append(hex.toUpperCase()).append(" "); } Log.i("cmd", str.toString()); }
Bitmap转string、byte[]
//将Bitmap转base64字符串 ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG,90,outputStream );//压缩90% byte[] imagebyte = outputStream.toByteArray(); String imageStr = Base64.encode(imagebyte); //将Bitmap转byte[] ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); byte[] datas = baos.toByteArray();
从资源文件中获取Bitmap
Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.ico);
Gson高精度String、Float[]互转(测试可保留6位数以上)
//Float[]转String float feature[] = new float[256]; Gson gson = new Gson(); String str = gson.toJson(feature.clone()); //String高精度还原Float[] Gson gson = new Gson(); float[] f = gson.fromJson(str, float[].class);
CRC16检验
private int CRC16_Check(byte Pushdata[]){ int Reg_CRC=0xffff; int temp; int i,j; //帧头校验字去掉 for( i = 2; i<Pushdata.length-2; i ++) { temp = Pushdata[i]; if(temp < 0) temp += 256; temp &= 0xff; Reg_CRC^= temp; for (j = 0; j<8; j++) { if ((Reg_CRC & 0x0001) == 0x0001) Reg_CRC=(Reg_CRC>>1)^0xA001; else Reg_CRC >>=1; } } return (Reg_CRC&0xffff); }
推荐阅读
-
JavaEE基础day02 1.定义Java中的变量 四类八种 2.变量定义和使用的注意事项 3.数据类型的转换、强制数据类型转换4.算数运算符、比较运算符、逻辑运算符、赋值运算符、三元运算符
-
Android常用的图片加载库
-
对text数据类型不支持代码页转换 从: 1252 到: 936
-
PHP中数据类型转换的三种方式,数据类型三种方式_PHP教程
-
PHP数据类型转换
-
深入学习php数据类型转换方法 php数据类型转换不求人
-
js强制数据类型转换 - Kaiqisan
-
Android 中StringBuffer 和StringBuilder常用方法
-
C#常用的数据格式转换汇总
-
详解 Java中日期数据类型的处理之格式转换的实例