1. 简介:
Hex 编码是一种用 16 个字符示意任意二进制数据的办法。它是一种编码,而非加密
码表为 “0123456789ABCDEF” 这 16 个字符。能够自行批改为改编版本。
字符编码
URL 编码
2. Hex 编码的代码实现和码表
-
java 中:
public static void main(String[] args) { String name = "小肩膀"; byte[] bytes = name.getBytes(StandardCharsets.UTF_8); System.out.println(bytes.length); System.out.println(Arrays.toString(bytes)); String encode = HexBin.encode(bytes); String encode1= encode(bytes); System.out.println(encode); System.out.println(encode1); }
-
Android 中:
-
配置: app-> build.gradle–> dependencies 中减少如下
api "com.squareup.okhttp3:okhttp:3.10.0"
-
代码
String name = "小肩膀"; byte[] bytes = name.getBytes(StandardCharsets.UTF_8); ByteString byteString = ByteString.of(bytes); System.out.println(byteString.hex());
Hex 编码特点
a) 用 0 -9 a-f 16 个字符示意。
b) 每个十六进制字符代表 4bit, 也就是 2 个十六进制字符代表一个字节。
c) 在理论利用中,比方密钥初始化,肯定要分分明传进去的密钥是哪种编码的,采纳对应 形式解析,能力失去正确的后果
d) 编程中很多问题,须要从字节甚至二进制位的角度去思考,能力明确 -