java 二進(jìn)制數(shù)據(jù)與16進(jìn)制字符串相互轉(zhuǎn)化方法
二進(jìn)制數(shù)據(jù)一般輸入的格式是0x45, 0x3a, 0xc3, 這種數(shù)據(jù)格式看起來(lái)是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í)際編程過(guò)程中,經(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)化方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)郵箱找回密碼實(shí)例代碼
本篇文章主要介紹了Java實(shí)現(xiàn)郵箱找回密碼實(shí)例代碼,可以通過(guò)郵箱找回丟失密碼,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11
springboot基于docsify?實(shí)現(xiàn)隨身文檔
這篇文章主要介紹了springboot基于docsify實(shí)現(xiàn)隨身文檔的相關(guān)資料,需要的朋友可以參考下2022-09-09
springboot項(xiàng)目如何配置多數(shù)據(jù)源
本文介紹了如何在SpringBoot項(xiàng)目中配置多數(shù)據(jù)源,包括配置多個(gè)數(shù)據(jù)源、創(chuàng)建數(shù)據(jù)源配置類、配置事務(wù)管理器以及使用不同的Mapper,從而實(shí)現(xiàn)跨數(shù)據(jù)庫(kù)操作2025-03-03
java實(shí)現(xiàn)監(jiān)控rtsp流轉(zhuǎn)flv方法實(shí)例(前端播放,前后端代碼都有)
這篇文章主要給大家介紹了關(guān)于java實(shí)現(xiàn)監(jiān)控rtsp流轉(zhuǎn)flv的相關(guān)資料,文中介紹的是前端播放,前后端代碼都有,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
java利用pdfbox+poi往pdf插入數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于java利用pdfbox+poi如何往pdf插入數(shù)據(jù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-02-02
spring boot整合jsp及設(shè)置啟動(dòng)頁(yè)面的方法
這篇文章主要給大家介紹了關(guān)于spring boot整合jsp及設(shè)置啟動(dòng)頁(yè)面的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09

