Hex编码 您所在的位置:网站首页 二进制是什么样的 Hex编码

Hex编码

2024-07-08 06:52| 来源: 网络整理| 查看: 265

Hex编码的编码原理:

* Hex编码的原理就是将原来8位的二进制字节打断,分成两个4位的,并且在前面加上4个零, * 进行补位这样一个8位二进制字节就变成了2个8位的二进制字节,在将新得到的2个二进制字符进行16位进制转换 * 得到的新的16位字符串就是Hex的值,所以 二进制的[72, 69, 88]  《hex》 484558是相等的。 * [72, 69, 88]byte数组的二进制=‭01001000‬ ‭01000101‬ ‭01011000‬ * 二进制=‭01001000‬ ‭01000101‬ ‭01011000‬ 进行hex的打断操作 ‭0100 1000‬ ‭0100 0101‬ ‭0101 1000 * 在加上前面的4个零得到一个新的6个8位二进制 = 0000‭0100 00001000 ‬0000‭0100 00000101‬ 0000‭0101 00001000 * 新的6个8位二进制 进行16进制转换 0000‭0100 00001000 ‬0000‭0100 00000101‬ 0000‭0101 00001000 = 484558 * 总结所以说Hex编码后的二进制长度变为了原来的2倍,所以字节长度增加了一倍。

Hex的编码过程: 字符串: HEX ASCII码: [72,69,88] 二进制码: ‭01001000‬ ‭01000101‬ ‭01011000‬ 重新分组: 0100 1000 0100 0101 0101 1000 高位补零后的二进制码: 00000100 00001000 00000100 00000101 00000101 00001000 十六进制码: 4 8 4 5 5 8 Hex码: 484558

 

代码实现: package com.gl.test; import org.apache.commons.codec.binary.Hex; import java.util.Arrays; public class TestHex { public static void main(String[] args) { //一个字符串 String hex = "HEX"; //获取字符串的byte数组 byte[] buf = hex.getBytes(); //输出byte数组 System.out.println(Arrays.toString(buf)); //转换成Hex输出 System.out.println(Hex.encodeHexString(buf)); } }

注:这里需要引入 org.apache.commons.codec的jar包。

maven格式:

commons-codec commons-codec 1.10

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有