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;
        }
    
    }
  • 相关阅读:
    突出展示案例
    下拉菜单案例
    推送人群的选择【技术篇】
    Couchbase 中的分布式储存
    开始了大概三四天的Rails学习之路
    分层架构与公司组织
    极光推送助推视频App,打造最活跃手机新媒体平台
    极光推送CTO黄鑫:技术人员要建立自己的知识图谱
    Android SDK教程
    Android消息推送 SDK 集成指南
  • 原文地址:https://www.cnblogs.com/mcahkf/p/5177376.html
Copyright © 2011-2022 走看看