zsh_root
2025-12-10 8d662de2fd262b3a485f16e197cb4d0ca2a61cdf
src/jiexi/HexUtils.java
@@ -1,7 +1,7 @@
package jiexi;
public class HexUtils {
    // 十六进制字符快速转换表 (ASCII范围内)
    // 十六进制字符快速转换表 (ASCII范围内)
    private static final int[] HEX_VALUES = new int[128];
    static {
        for (int i = 0; i < HEX_VALUES.length; i++) {
@@ -13,23 +13,23 @@
        }
    }
    // 线程安全的字符缓冲区 (初始大小256)
    // 线程安全的字符缓冲区 (初始大小256)
    private static final ThreadLocal<char[]> CHAR_BUF_CACHE = 
        ThreadLocal.withInitial(() -> new char[256]);
    /**
     * 获取线程本地字符缓冲区
     * @return 可复用的char[256]缓冲区
     * 获取线程本地字符缓冲区
     * @return 可复用的char[256]缓冲区
     */
    public static char[] getThreadLocalBuffer() {
        return CHAR_BUF_CACHE.get();
    }
    /**
     * 快速将两个十六进制字符转换为字节
     * @param c1 高位字符 (0-9, A-F, a-f)
     * @param c2 低位字符 (0-9, A-F, a-f)
     * @return 转换后的字节值 (无效字符返回0)
     * 快速将两个十六进制字符转换为字节
     * @param c1 高位字符 (0-9, A-F, a-f)
     * @param c2 低位字符 (0-9, A-F, a-f)
     * @return 转换后的字节值 (无效字符返回0)
     */
    public static int fastHexToByte(char c1, char c2) {
        int high = (c1 < 128) ? HEX_VALUES[c1] : -1;