各种格式的编码解码工具类分享
1. hex解码工具类
Hex是一种用16进制表示二进制数据的编码方式,我们可以通过Hex解码工具将16进制字符串转换成二进制数据。
以下是实现Hex解码的代码示例:
public class HexUtil {
/*
* 将16进制字符串转换为byte数组
*/
public static byte[] hex2Bytes(String hexString) {
if (hexString == null || hexString.equals("")) {
return null;
}
hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++) {
int pos = i * 2;
d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
}
return d;
}
/*
* 将一个字符转换为一个字节
*/
private static byte charToByte(char c) {
return (byte) "0123456789ABCDEF".indexOf(c);
}
}
使用示例:
String hexString = "68656C6C6F";
byte[] bytes = HexUtil.hex2Bytes(hexString);
String result = new String(bytes, StandardCharsets.UTF_8);
System.out.println(result); //输出"hello"
2. Base64编码工具类
Base64是一种基于64个可打印字符来表示二进制数据的编码方式,我们可以通过Base64编码工具将二进制数据转换成Base64字符串。
以下是实现Base64编码的代码示例:
public class Base64Util {
/*
* 将byte数组转换为Base64编码的字符串
*/
public static String encode(byte[] bytes) {
return Base64.getEncoder().encodeToString(bytes);
}
/*
* 将Base64编码的字符串转换为byte数组
*/
public static byte[] decode(String base64String) {
return Base64.getDecoder().decode(base64String);
}
}
使用示例:
String originalString = "hello";
byte[] bytes = originalString.getBytes(StandardCharsets.UTF_8);
String base64String = Base64Util.encode(bytes);
System.out.println(base64String); //输出"aGVsbG8="
byte[] bytes2 = Base64Util.decode(base64String);
String result = new String(bytes2, StandardCharsets.UTF_8);
System.out.println(result); //输出"hello"
总结
以上就是各种格式的编码解码工具类分享的完整攻略。我们可以通过Hex解码工具类将16进制字符串转换成二进制数据,通过Base64编码工具类将二进制数据转换成Base64字符串。这些工具类可以帮助我们在开发中进行数据格式的转换和处理,提高开发效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:各种格式的编码解码工具类分享(hex解码 base64编码) - Python技术站