java 二進(jìn)制數(shù)據(jù)與16進(jìn)制字符串相互轉(zhuǎn)化方法
二進(jìn)制數(shù)據(jù)一般輸入的格式是0x45, 0x3a, 0xc3, 這種數(shù)據(jù)格式看起來是16進(jìn)制的字符串,但是實(shí)際上在存儲(chǔ)的時(shí)候每個(gè)都對(duì)應(yīng)一個(gè)字節(jié),比如0x45的二進(jìn)制字節(jié)就是0100 0101,對(duì)應(yīng)的16進(jìn)制字符串就是0x45。實(shí)際編程過程中,經(jīng)常遇到這兩種格式的相互轉(zhuǎn)化,在此記錄一下代碼。
二進(jìn)制數(shù)據(jù)轉(zhuǎn)化為16進(jìn)制字符串(中間加的‘:'還有‘;'是為了查看下標(biāo),也可以自行去掉):
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); stringBuilder.append(i + ":"); if (hv.length() < 2) { stringBuilder.append(0); } stringBuilder.append(hv + ";"); } return stringBuilder.toString(); }
16進(jìn)制字符串轉(zhuǎn)化為二進(jìn)制數(shù)據(jù):
public static byte[] hexStringToByte(String hex) { int len = (hex.length() / 2); byte[] result = new byte[len]; char[] achar = hex.toCharArray(); for (int i = 0; i < len; i++) { int pos = i * 2; result[i] = (byte) (toByte(achar[pos]) << 4 | toByte(achar[pos + 1])); } return result; } private static byte toByte(char c) { byte b = (byte) "0123456789abcdef".indexOf(c); return b; }
以上這篇java 二進(jìn)制數(shù)據(jù)與16進(jìn)制字符串相互轉(zhuǎn)化方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
將JSON字符串?dāng)?shù)組轉(zhuǎn)對(duì)象集合方法步驟
這篇文章主要給大家介紹了關(guān)于將JSON字符串?dāng)?shù)組轉(zhuǎn)對(duì)象集合的方法步驟,文中通過代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08java實(shí)現(xiàn)酷狗音樂臨時(shí)緩存文件轉(zhuǎn)換為MP3文件的方法
這篇文章主要介紹了java實(shí)現(xiàn)酷狗音樂臨時(shí)緩存文件轉(zhuǎn)換為MP3文件的方法,涉及java針對(duì)文件操作的相關(guān)技巧,需要的朋友可以參考下2016-08-08eclipse自動(dòng)提示和自動(dòng)補(bǔ)全功能實(shí)現(xiàn)方法
這篇文章主要介紹了eclipse自動(dòng)提示和自動(dòng)補(bǔ)全的相關(guān)內(nèi)容,文中向大家分享了二者的實(shí)現(xiàn)方法代碼,需要的朋友可以了解下。2017-09-09關(guān)于MyBatis模糊查詢的幾種實(shí)現(xiàn)方式
在實(shí)際項(xiàng)目中,我們會(huì)經(jīng)常對(duì)數(shù)據(jù)做一些模糊查詢的操作,這時(shí)候就需要利用到 like字段,那么在Mybatis中,有哪些方式可以實(shí)現(xiàn)模糊查詢呢,需要的朋友可以參考下2023-05-05Java繪圖技術(shù)基礎(chǔ)(實(shí)例講解)
下面小編就為大家?guī)硪黄狫ava繪圖技術(shù)基礎(chǔ)(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08SpringBoot 攔截器和自定義注解判斷請(qǐng)求是否合法
這篇文章主要介紹了SpringBoot 攔截器和自定義注解判斷請(qǐng)求是否合法,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2020-12-12