前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【网络编程】中文字符、时间等编码转换

【网络编程】中文字符、时间等编码转换

作者头像
鳄鱼儿
发布2024-05-21 16:27:56
570
发布2024-05-21 16:27:56
举报

GB2312编码转化为汉字

代码语言:javascript
复制
    /**
     * 将GB2312编码(十六进制)转换成汉字
     */
    public static String gbkHexToString(String string) throws Exception {
        byte[] bytes = new byte[string.length() / 2];
        for (int i = 0; i < bytes.length; i++) {
            byte high = Byte.parseByte(string.substring(i * 2, i * 2 + 1), 16);
            byte low = Byte.parseByte(string.substring(i * 2 + 1, i * 2 + 2), 16);
            bytes[i] = (byte) (high << 4 | low);
        }
        String result = new String(bytes, "gbk");
        return result;
    }

ASCII编码(16进制)转字符串

代码语言:javascript
复制
    public static String ascHextoString(String s1) {
        // 去除空格
        String ss[] = s1.trim().split(" +");
        StringBuffer sb = new StringBuffer();

        for (int i = 0; i < ss.length; i++) {
            sb.append(ss[i]);
        }
        String s = sb.toString();

        byte[] baKeyword = new byte[s.length() / 2];
        for (int i = 0; i < baKeyword.length; i++) {
            try {
                baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16));
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        try {
            s = new String(baKeyword, "ASCII");
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        return s;
    }

MD5加密字符串

代码语言:javascript
复制
public static String encodeMD5(String s) {
        if (isEmpty(s)) {
            return null;
        }
        MessageDigest md = null;
        try {
            md = MessageDigest.getInstance("MD5");
        } catch (NoSuchAlgorithmException ex) {
            // ignore ex
            return null;
        }
        char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
        md.update(s.getBytes());
        byte[] datas = md.digest();
        int len = datas.length;
        char str[] = new char[len * 2];
        int k = 0;
        for (int i = 0; i < len; i++) {
            byte byte0 = datas[i];
            str[k++] = hexDigits[byte0 >>> 4 & 0xf];
            str[k++] = hexDigits[byte0 & 0xf];
        }
        return new String(str);
    }

转换时间

代码语言:javascript
复制
    /**
     * 时间转换为4字节ID YYDDMMHHMMSS
     * 272EDBB9 -> 191223134657
     */
    public static String IDToTime(String id) {
        long timeid = Long.valueOf(id, 16).longValue();
        long year = ((timeid >> 26) & 0x1f) + 10;
        long mon = (timeid >> 22) & 0x0f;
        long day = (timeid >> 17) & 0x1f;
        long hour = (timeid >> 12) & 0x1f;
        long min = (timeid >> 6) & 0x3f;
        long sec = timeid & 0x3f;
        long date = year * 10000 + mon * 100 + day;
        long time = hour * 10000 + min * 100 + sec;
        String StringTimer = addZeroForNum(String.valueOf(time), 6, true);
        String datetime = String.valueOf(date) + StringTimer;
        return datetime;
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GB2312编码转化为汉字
  • ASCII编码(16进制)转字符串
  • MD5加密字符串
  • 转换时间
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档