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

Android BLE 数据转换方法集合

______________________________________________________________

Android BLE 框架发布,功能全面,简单易用:

https://github.com/a1anwang/okble

______________________________________________________________

(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快速提交

网友评论(29)

不错的和翔实的文章
arham 9个月前 (2018-03-21) 回复
tips agar asi melimpah <a href=http://tenze24.tumblr.com/#64484>tenze24.tumblr.com</a> mother's milk tea for increasing milk supply
Azurubugig 2年前 (2017-05-20) 回复
prokinetic effect of domperidone <a href=http://penria35.tumblr.com>domperidone canada over the counter-penria35.tumblr.com</a> is domperidone safe for children Vormnalaf
Amokatey 2年前 (2017-05-16) 回复
amoxicillina sandoz 500 mg
<a href= http://cruzliedy.guildomatic.com >teva celecoxib exclusivity</a>
<a href=http://elishakoew.ayosport.com/article-15572-zovirax>zovirax 5 crema prezzo</a>
zovirax compresse 400 prezzo
<a href= http://markettaro-blog.logdown.com >amoxicillina torrino</a>
<a href=http://markettaro-blog.logdown.com>amoxicillina posologia adulto</a>
etoricoxib generico prezzo
Richardmab 2年前 (2017-04-12) 回复
zovirax crema herpes prezzo
<a href= http://julietteju.oneminutesite.it >etoricoxib generico mexico</a>
<a href=http://elishakoew.ayosport.com/article-15572-zovirax>prezzo zovirax labiale cerotti</a>
tadalafil online europe
<a href= http://kingkouale.tribalpages.com >levetiracetam farmaco generico</a>
<a href=http://kingkouale.tribalpages.com>levetiracetam dosaggio plasmatico</a>
levetiracetam 1000 mg prezzo
Richardmab 2年前 (2017-04-10) 回复
amoxicilline iv vidal
<a href= http://jolenemale.onlc.be >nolvadex effets secondaires vidal</a>
<a href=https://adrianneya.yolasite.com>clomid 100mg success stories</a>
priligy 30 mg avis
<a href= http://sydneyvoll.webblogg.se >tolexine 100 matin ou soir</a>
<a href=https://adrianneya.yolasite.com>clomid posologie</a>
priligy generique avis
MatthewSet 2年前 (2017-04-06) 回复
qlaira bula engorda
<a href= http://albendazol.zohosites.eu >albendazol bula</a>
<a href=http://kaleighdzi.myfreesites.net>augmentin bulantı</a>
comprar excedrin migraine
<a href= http://www.breannawei-60.webself.net >pildora qlaira comprar</a>
<a href=http://abelcasida.tribalpages.com>comprar priligy original</a>
ciprofloxacino otologico preço
Williamtum 2年前 (2017-04-03) 回复
dalacin krem dopochwowy
<a href= http://project196270.tilda.ws >pergotime og pcos</a>
<a href=http://annettmarm.bloggnorge.com/exforge/>exforge blodtrykk</a>
flagyl 400 metronidazole
<a href= http://ellsworthut.page4.me >dalacin liniment erfaring</a>
<a href=http://www.devote.se/grettaflam/>flagyl vagitorier 500 mg sanofi aventis</a>
pergotime 50 mg
SamuelDog 2年前 (2017-04-01) 回复
cipramil kosten
<a href= http://www.imxprs.com/free/echorieth/echorieth >avamys spray kaufen</a>
<a href=http://nouw.com/rematague>gabapentin 300 und alkohol</a>
nifurantin alkohol
<a href= https://agnusdinap.yolasite.com >nifurantin 50 mg nebenwirkungen</a>
<a href=http://lonnielenn.edublogs.org/2017/03/27/azithromycin/>azithromycin pillenpause</a>
zineryt 30ml cena
Williamunalp 2年前 (2017-03-30) 回复
zovirax creme kopen
<a href= http://heleneshou.blogg.no >zyban wellbutrin sr</a>
<a href=http://jadalipfor.e-monsite.com>metronidazole donkere urine</a>
overdosis propranolol dodelijk
<a href= http://masonducay.over-blog.com/2017/03/zovirax.html >zovirax oogzalf duiven</a>
<a href=http://masonducay.over-blog.com/2017/03/zovirax.html>zovirax tabletten kopen</a>
zyban 150 mg nasıl kullanılır
Dennisspack 2年前 (2017-03-28) 回复
1 2 3