您的足迹:首页 > 蓝牙BLE >Android BLE 数据转换方法集合

Android BLE 数据转换方法集合

(1)  byte[] 数组转成 16进制字符串


	private final static byte[] hex = "0123456789ABCDEF".getBytes();

	// 从字节数组到十六进制字符串转
	public static String Bytes2HexString(byte[] b) {
		byte[] buff = new byte[2 * b.length];
		for (int i = 0; i < b.length; i++) {
			buff[2 * i] = hex[(b[i] >> 4) & 0x0f];
			buff[2 * i + 1] = hex[b[i] & 0x0f];
		}
		return new String(buff);
	}


        示例:

byte[] bytes_1=new byte[]{(byte) 0xA0,(byte) 0xB1,0x2};
String hexStr=Conversion.Bytes2HexString(bytes_1);
LogUtils.print("hexStr:"+hexStr);

结果:hexStr:A0B102


(2)  16进制字符串转成 byte[] 数组

    

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;
}


示例:

String strvalue = "A0B102"; 
byte[] bytes_2=Conversion.hexStringToBytes(strvalue);
String hexStr=Conversion.Bytes2HexString(bytes_2);
LogUtils.print("hexStr:"+hexStr);

结果:hexStr:A0B102


(3)  16进制字符串转成  int 整数

public static int hexStrToInt(String valueStr) {
		valueStr = valueStr.toUpperCase();
		if (valueStr.length() % 2 != 0) {
			valueStr = "0" + valueStr;
		}

		int returnValue = 0;

		int length = valueStr.length();

		for (int i = 0; i < length; i++) {

			int value = charToByte(valueStr.charAt(i));

			returnValue += Math.pow(16, length - i - 1) * value;
		}
		return returnValue;
}
public static byte charToByte(char c) {
  return (byte) "0123456789ABCDEF".indexOf(c);
}
示例:

String strvalue = "A0B102"; 
int  value=Conversion.hexStrToInt(strvalue);
LogUtils.print("       value:"+value);
LogUtils.print("0xA0B102:"+0xA0B102);

结果:
     hexStr:10531074
   0xA0B102:10531074


(4) int 转16进制

    

  public static String intToHexStr(int i){
		String hexStr=	Integer.toHexString(i);
		 
		if(hexStr.length()%2!=0){
			hexStr="0"+hexStr;
		}
		return hexStr.toUpperCase();
  }


    示例:

LogUtils.e("TAG", "hexStr:"+Conversion.intToHexStr(10));
    结果:
hexStr:0A

(5)  byte转bit

public static String byteToBit(byte b) {  
	    return "" +(byte)((b >> 7) & 0x1) +   
	    (byte)((b >> 6) & 0x1) +   
	    (byte)((b >> 5) & 0x1) +   
	    (byte)((b >> 4) & 0x1) +   
	    (byte)((b >> 3) & 0x1) +   
	    (byte)((b >> 2) & 0x1) +   
	    (byte)((b >> 1) & 0x1) +   
	    (byte)((b >> 0) & 0x1);  
}  
(6)  bitbyte


public static byte BitToByte(String byteStr) {  
	    int re, len;  
	    if (null == byteStr) {  
	        return 0;  
	    }  
	    len = byteStr.length();  
	    if (len != 4 && len != 8) {  
	        return 0;  
	    }  
	    if (len == 8) {// 8 bit处理  
	        if (byteStr.charAt(0) == '0') {// 正数  
	            re = Integer.parseInt(byteStr, 2);  
	        } else {// 负数  
	            re = Integer.parseInt(byteStr, 2) - 256;  
	        }  
	    } else {//4 bit处理  
	        re = Integer.parseInt(byteStr, 2);  
	    }  
	    return (byte) re;  
} 

(7)  byte[]截取

    public static byte[] subByteArray(byte[] src,int start,int length){


        byte[] result=new byte[length];

        System.arraycopy(src, start, result, 0, length);


        return result;

    }




本博客所有文章如无特别注明均为原创。作者:AlanWang复制或转载请以超链接形式注明转自 AlanWang的博客-专注android和蓝牙BLE技术分享
原文地址《Android BLE 数据转换方法集合

相关推荐

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(28)

free levitra samples  
<a href= http://janeanklim.blogse.nl >purchase zithromax</a> <a href= http://janeanklim.blogse.nl >what is zithromax z pak</a>  
zithromax oral  
<a href=http://ericpeerbo.aircus.com>what does zithromax do</a> <a href=http://janeanklim.blogse.nl>zithromax dosage for adults</a>  
what is the difference between wellbutrin xl and sr
Jacobmed 12个月前 (2017-03-11) 回复
priligy without prescription  
<a href= http://owenwirch.jigsy.com >qlaira</a> <a href= http://owenwirch.jigsy.com >qlaira pilula anticoncepcional</a>  
menarini priligy  
<a href=http://lindseycut.bloggsite.se>stopping yasmin pill</a> <a href=http://www.devote.se/codyfinwal>priligy testimonials</a>  
yasmin contraceptive pill weight loss
GarlandEvasp 12个月前 (2017-03-07) 回复
lipitor generic  
<a href= http://iolabellis.zohosites.eu >lipitor 20mg dosage</a> <a href= http://www.onweb.fr?company_id=17312 >bijwerkingen sipralexa</a>  
levitra without a prescription  
<a href=http://awildacort.webs.com>how levitra works</a> <a href=http://romanaschw-blog.logdown.com/posts/1497351-levitra>levitra how long does it last</a>  
medicatie depressie sipralexa
AlbertClich 12个月前 (2017-03-04) 回复
remeron 15 mg  
<a href= http://drewlike.myfreesites.net >how does remeron work in the brain</a> <a href= http://kirsteneri.iball.fr/article-15484-flovent >flovent sore throat</a>  
revatio dosage for ed  
<a href=http://gamazavrreal.wixsite.com/mysite/single-post/2017/03/01/remeron>what does remeron do</a> <a href=http://www.onweb.fr/?company_id=17311>flovent allergic reaction</a>  
revatio 20 mg cost
Lesterembed 12个月前 (2017-03-02) 回复
estrogel generic  
<a href= http://chasityson.soup.io >estrace generic</a> <a href= http://otiscraffo.startbewijs.be >estrace reviews</a>  
estrace and breastfeeding  
<a href=http://annisburbi.do.am>rivotril tabletas 2 mg</a> <a href=http://terranceba.over-blog.com/2017/02/rivotril.html>rivotril 10mg</a>  
avamys nasal spray suspension
DouglasnOx 12个月前 (2017-03-01) 回复
apo tramacet  
<a href= http://lynnverhey.oneminutesite.it >drugs like prozac</a> <a href= http://lavernerab.wifeo.com >tramacet for headache</a>  
adderall xr for depression  
<a href=http://www.onweb.fr/index.php?company_id=17308>fiorinal</a> <a href=http://rudolfcaic-blog.logdown.com>how long does adderall xr stay in your system</a>  
tramacet medicine
EfrainZef 1年前 (2017-02-26) 回复
advair used for  
<a href= http://wilfredmol.tekcities.com >advair discounts</a> <a href= http://wilfredmol.tekcities.com >advair weight loss</a>  
substitute for advair  
"http://bernadineh.cybersite.nu"  - advair price  "http://jaekinna.aircus.com"  - advair hfa cost  
wellbutrin xl 150 mg
Melvingrire 1年前 (2017-02-25) 回复
adderall xr 40mg  
<a href= http://zoravang.weebly.com/ocd-and-prozac.html >ocd and prozac</a>  
"http://brantechol.chapso.de/adderall-xr-time.html"  - adderall xr time  
prozac and hydroxyzine
PeterBeawn 1年前 (2017-02-23) 回复
1 2 3