日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

java byte數(shù)組與16進(jìn)制間相互轉(zhuǎn)換的示例

瀏覽:131日期:2022-08-22 09:51:33

1.準(zhǔn)備工作

import java.util.Arrays;/** * Byte[]與hex的相互轉(zhuǎn)換 * @explain * @author Marydon * @creationTime 2018年6月11日下午2:29:11 * @version 1.0 * @since * @email marydon20170307@163.com */public class ByteUtils { // 16進(jìn)制字符 private static final char[] HEX_CHAR = { ’0’, ’1’, ’2’, ’3’, ’4’, ’5’, ’6’, ’7’, ’8’, ’9’, ’a’, ’b’, ’c’, ’d’, ’e’, ’f’ };}

2.byte類型數(shù)組轉(zhuǎn)化成16進(jìn)制字符串

方法一

/** * 方法一:將byte類型數(shù)組轉(zhuǎn)化成16進(jìn)制字符串 * @explain 字符串拼接 * @param bytes * @return */public static String toHexString(byte[] bytes) { StringBuilder sb = new StringBuilder(); int num; for (byte b : bytes) { num = b < 0 ? 256 + b : b; sb.append(HEX_CHAR[num / 16]).append(HEX_CHAR[num % 16]); } return sb.toString();}

方法二

/** * 方法二: byte[] to hex string * @explain 使用數(shù)組 * @param bytes * @return */public static String toHexString2(byte[] bytes) { // 一個byte為8位,可用兩個十六進(jìn)制位表示 char[] buf = new char[bytes.length * 2]; int a = 0; int index = 0; // 使用除與取余進(jìn)行轉(zhuǎn)換 for (byte b : bytes) { if (b < 0) a = 256 + b; else a = b; // 偶數(shù)位用商表示 buf[index++] = HEX_CHAR[a / 16]; // 奇數(shù)位用余數(shù)表示 buf[index++] = HEX_CHAR[a % 16]; } // char[]-->String return new String(buf);}

方法三

/** * 方法三: byte[]-->hexString * @explain 使用位運(yùn)算 * @param bytes * @return */public static String toHexString3(byte[] bytes) { char[] buf = new char[bytes.length * 2]; int index = 0; // 利用位運(yùn)算進(jìn)行轉(zhuǎn)換,可以看作方法二的變型 for (byte b : bytes) { buf[index++] = HEX_CHAR[b >>> 4 & 0xf]; buf[index++] = HEX_CHAR[b & 0xf]; } return new String(buf);}

方法四

/** * 方法四:byte[]-->hexString * @param bytes * @return */public static String toHexString4(byte[] bytes) { StringBuilder sb = new StringBuilder(bytes.length * 2); // 使用String的format方法進(jìn)行轉(zhuǎn)換 for (byte b : bytes) { sb.append(String.format('%02x', new Integer(b & 0xff))); } return sb.toString();}

方法五

/** * 將byte數(shù)組轉(zhuǎn)換成16進(jìn)制字符串 * * @param src * @return */private static String bytesToHexString(byte[] src) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < src.length; i++) { int v = src[i] & 0xFF; String hv = Integer.toHexString(v); if (hv.length() < 2) { sb.append(0); } sb.append(hv); } return sb.toString();}

3.16進(jìn)制字符串轉(zhuǎn)換為byte[]

方法一

/** * 將16進(jìn)制字符串轉(zhuǎn)換為byte[] * @explain 16進(jìn)制字符串不區(qū)分大小寫,返回的數(shù)組相同 * @param hexString * 16進(jìn)制字符串 * @return byte[] */public static byte[] fromHexString(String hexString) { if (null == hexString || ''.equals(hexString.trim())) { return new byte[0]; } byte[] bytes = new byte[hexString.length() / 2]; // 16進(jìn)制字符串 String hex; for (int i = 0; i < hexString.length() / 2; i++) { // 每次截取2位 hex = hexString.substring(i * 2, i * 2 + 2); // 16進(jìn)制-->十進(jìn)制 bytes[i] = (byte) Integer.parseInt(hex, 16); } return bytes;}

方法二

/** * 將16進(jìn)制轉(zhuǎn)換為byte[] * @param hexStr * @return */public static byte[] fromHex(String hexStr) { if (hexStr.length() < 1) return null; byte[] result = new byte[hexStr.length() / 2]; for (int i = 0; i < hexStr.length() / 2; i++) { int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1), 16); int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2), 16); result[i] = (byte) (high * 16 + low); } return result;}

方法三:

public static byte[] toByteArray(String data) { if (data == null) {return new byte[] {}; } if (data.length() == 0) {return new byte[] {}; } while (data.length() < 2) {data = '0' + data; } if (data.substring(0, 2).toLowerCase().equals('0x')) {data = data.substring(2); } if (data.length() % 2 == 1) {data = '0' + data; } data = data.toUpperCase(); byte[] bytes = new byte[data.length() / 2]; String hexString = '0123456789ABCDEF'; for (int i = 0; i < bytes.length; i++) {int byteConv = hexString.indexOf(data.charAt(i * 2)) * 0x10;byteConv += hexString.indexOf(data.charAt(i * 2 + 1));bytes[i] = (byte) (byteConv & 0xFF); } return bytes;}

4.測試

public static void main(String[] args) throws Exception { String json = '{'name':'Marydon','website':'http://www.cnblogs.com/Marydon20170307'}'; byte[] bytes = json.getBytes('utf-8'); System.out.println('字節(jié)數(shù)組為:' + Arrays.toString(bytes)); System.out.println('byte數(shù)組轉(zhuǎn)16進(jìn)制之方法一:' + toHexString(bytes)); System.out.println('byte數(shù)組轉(zhuǎn)16進(jìn)制之方法二:' + ByteUtils.toHexString2(bytes)); System.out.println('byte數(shù)組轉(zhuǎn)16進(jìn)制之方法三:' + ByteUtils.toHexString3(bytes)); System.out.println('byte數(shù)組轉(zhuǎn)16進(jìn)制之方法四:' + ByteUtils.toHexString4(bytes)); System.out.println('=================================='); String str = '7b226e616d65223a224d617279646f6e222c2277656273697465223a22687474703a2f2f7777772e636e626c6f67732e636f6d2f4d617279646f6e3230313730333037227d'; System.out.println('轉(zhuǎn)換后的字節(jié)數(shù)組:' + Arrays.toString(fromHexString(str))); System.out.println(new String(fromHexString(str), 'utf-8'));}

補(bǔ)充

1B=8b,也就是1byte=8bit;

1KB=1024B;

1MB=1024KB;

1GB=1024MB;

1TB=1024GB

bit是計算機(jī)最小的存儲單元,只能存儲0和1,是Binary digit(二進(jìn)制數(shù)位)的縮寫,意為“位”或“比特”,也就是二進(jìn)制。

以上就是java byte數(shù)組與16進(jìn)制間相互轉(zhuǎn)換的示例的詳細(xì)內(nèi)容,更多關(guān)于java byte數(shù)組與16進(jìn)制間的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产传媒av在线| 国产日韩三级| 在线一区免费观看| 欧美一区二区三区久久| 亚洲成av在线| 国产一卡不卡| 国产视频亚洲| 国产一区二区三区不卡av| 在线一区免费| 国产高清亚洲| 国产精品黄色| 久久精品在线| 老司机精品在线| 综合亚洲视频| 蜜桃成人av| 精品美女久久| 日韩av黄色在线| 久久久9色精品国产一区二区三区| 美国欧美日韩国产在线播放| 国产亚洲一卡2卡3卡4卡新区| 四虎8848精品成人免费网站| 欧美日韩一区二区国产| 国产精品毛片| 欧美在线网站| 中文字幕在线看片| 麻豆国产欧美一区二区三区| 日韩有码av| 日韩激情综合| 日韩欧美中文在线观看| 日韩av在线播放网址| 国产精品欧美在线观看| 欧美在线日韩| 亚洲一区有码| 日韩一区二区三免费高清在线观看| 香蕉国产精品| 香蕉精品久久| 天堂成人免费av电影一区| 午夜精品婷婷| 999国产精品999久久久久久| 欧美日韩国产高清电影| 三上悠亚国产精品一区二区三区| 成人午夜网址| 日韩精品欧美| 久久婷婷激情| 美女视频网站久久| 国产欧美一区二区色老头| 欧美精品成人| 精品日韩在线| 日韩中文在线播放| 狠狠爱成人网| 亚洲另类视频| 国产精品www.| 日韩黄色大片| 韩国精品主播一区二区在线观看 | 亚洲国产成人精品女人| 国产精品精品| 九色精品91| 视频一区二区欧美| 久久狠狠久久| 亚洲夜间福利| 日韩在线观看中文字幕| 美女性感视频久久| 久久久久美女| 欧美日本一区| 最新国产拍偷乱拍精品| 日本不卡一区二区| 成人高清一区| 狠狠色综合网| 日本不卡中文字幕| 精品国产黄a∨片高清在线| 99国内精品| 精品国产乱码久久久久久樱花| 97在线精品| 亚洲精品自拍| 蜜臀国产一区| 日韩av中文字幕一区二区| 成人台湾亚洲精品一区二区 | 粉嫩av一区二区三区四区五区 | 一区二区三区四区日本视频| 激情久久中文字幕| 老司机免费视频一区二区| 亚洲精品成人| 国产精品久久久久久久久久齐齐| 免费在线小视频| 91成人在线网站| 亚洲在线观看| 成人精品亚洲| 国产香蕉精品| 国产一区导航| 国产一区二区高清| 成人片免费看| 欧美日本久久| 蜜臀va亚洲va欧美va天堂| 精品丝袜在线| 精品成人18| 国产美女视频一区二区| 午夜宅男久久久| 中文久久精品| 深夜福利视频一区二区| 国产激情欧美| 国产精品国产三级在线观看| 日韩精品国产精品| 免费成人在线影院| 成人亚洲一区| 精品美女在线视频| 国产黄大片在线观看| 精品捆绑调教一区二区三区| 蜜桃av.网站在线观看| 97精品国产福利一区二区三区| 成人在线观看免费视频| 国产aⅴ精品一区二区四区| 久久只有精品| 欧美成a人片免费观看久久五月天| 国产精品最新自拍| 国产中文字幕一区二区三区| 国产精品22p| 捆绑调教日本一区二区三区| 热三久草你在线| 久久精品国产久精国产| 久久精品毛片| 国产v日韩v欧美v| 精品五月天堂| 日韩成人亚洲| 亚洲高清成人| 久久午夜精品| 国产精品久久久久久妇女| 国产精品成人自拍| 精品久久精品| 欧美99久久| 视频一区视频二区在线观看| 亚洲精品高潮| 国产一区二区三区久久久久久久久| 毛片在线网站| 欧美片第1页| 蜜臀av亚洲一区中文字幕| 国产精品亚洲综合色区韩国| 欧美国产三级| 国产一区亚洲| 精品免费视频| 日韩1区2区3区| 激情亚洲影院在线观看| 欧美一级精品| 精品国产三区在线| 91精品99| 久久久久伊人| 老牛影视一区二区三区| 国产极品模特精品一二| 亚洲一区成人| 国产日韩欧美| 91精品电影| 国产精品成人一区二区网站软件| 日韩国产激情| 欧美一级二级视频| 1024精品久久久久久久久| 欧美激情网址| 日韩高清在线观看一区二区| 日韩欧美一区二区三区免费观看| 国产亚洲一区二区三区啪| 99国产精品视频免费观看一公开| 国产一区二区三区不卡av| 国产亚洲欧美日韩精品一区二区三区 | 鲁大师精品99久久久| 国产精品呻吟| 精品国产精品久久一区免费式| 免费不卡在线视频| 精品国产一区二区三区性色av| 免费在线欧美视频| 蜜臀精品一区二区三区在线观看| 九色porny丨国产首页在线| 六月丁香综合在线视频| 国产精品永久| 亚洲日本三级| 亚洲专区一区| 麻豆视频在线观看免费网站黄 | 国产精品亚洲人成在99www| 视频一区中文字幕| 在线亚洲国产精品网站| 国产精品呻吟| 免费一区二区视频| 国产综合色产| 夜夜嗨av一区二区三区网站四季av| 久久av导航| 欧美日韩国产观看视频| 高清日韩欧美| 蜜桃av.网站在线观看| 国产精品毛片久久| 日韩av福利| 激情欧美国产欧美| 免费视频久久| 国产偷自视频区视频一区二区| 亚洲高清毛片| 欧美a级一区| 亚洲免费高清| 免费日本视频一区| 日韩在线观看中文字幕| 免费中文字幕日韩欧美| 日韩欧美2区| 国产日韩三级| 99久久视频| 好吊视频一区二区三区四区|