zoukankan      html  css  js  c++  java
  • 普通字符串与Hex编码字符串之间转换

    import java.io.UnsupportedEncodingException;
    import org.apache.commons.codec.binary.Hex;
    
    public class Example {
        /**
         * 将普通字符串转换成Hex编码字符串
         * 
         * @param dataCoding 编码格式,15表示GBK编码,8表示UnicodeBigUnmarked编码,0表示ISO8859-1编码
         * @param realStr 普通字符串
         * @return Hex编码字符串
         * @throws UnsupportedEncodingException 
         */
        public static String encodeHexStr(int dataCoding, String realStr) {
            String hexStr = null;
            if (realStr != null) {
                try {
                    if (dataCoding == 15) {
                        hexStr = new String(Hex.encodeHex(realStr.getBytes("GBK")));
                    } else if ((dataCoding & 0x0C) == 0x08) {
                        hexStr = new String(Hex.encodeHex(realStr.getBytes("UnicodeBigUnmarked")));
                    } else {
                        hexStr = new String(Hex.encodeHex(realStr.getBytes("ISO8859-1")));
                    }
                } catch (UnsupportedEncodingException e) {
                    System.out.println(e.toString());
                }
            }
            return hexStr;
        }
        
        /**
         * 将Hex编码字符串转换成普通字符串
         * 
         * @param dataCoding 反编码格式,15表示GBK编码,8表示UnicodeBigUnmarked编码,0表示ISO8859-1编码
         * @param hexStr Hex编码字符串
         * @return 普通字符串
         */
        public static String decodeHexStr(int dataCoding, String hexStr) {
            String realStr = null;
            try {
                if (hexStr != null) {
                    if (dataCoding == 15) {
                        realStr = new String(Hex.decodeHex(hexStr.toCharArray()), "GBK");
                    } else if ((dataCoding & 0x0C) == 0x08) {
                        realStr = new String(Hex.decodeHex(hexStr.toCharArray()), "UnicodeBigUnmarked");
                    } else {
                        realStr = new String(Hex.decodeHex(hexStr.toCharArray()), "ISO8859-1");
                    }
                }
            } catch (Exception e) {
                System.out.println(e.toString());
            }
            
            return realStr;
        }
    
    }
  • 相关阅读:
    rabbitmq channel参数详解
    rabbitmq direct、fanout、topic 三种Exchange java 代码比较
    spark 性能优化
    spark sql 窗口函数over partition by
    Python爬虫从入门到进阶(4)之xpath的使用
    Python爬虫从入门到进阶(3)之requests的使用
    Python爬虫从入门到进阶(2)之urllib库的使用
    Mac环境下Redis的安装
    Mac环境下Vagrant的安装
    Mac环境下Scrapy的安装
  • 原文地址:https://www.cnblogs.com/mcahkf/p/5177376.html
Copyright © 2011-2022 走看看