zoukankan      html  css  js  c++  java
  • java中文与unicode编码之间的转换

    package test;
    
    import java.io.UnsupportedEncodingException;
    
    public class TestUnicode{
    
        public static void main(String[] args) throws UnsupportedEncodingException {
            String s[] = {"☑","□"};
            for (int i = 0; i < s.length; i++) {
                System.out.println(s[i]+" --的unicode编码是:"+gbEncoding(s[i]));
                System.out.println(gbEncoding(s[i]) + " --转换成中文是:"+decodeUnicode(gbEncoding(s[i])));
            }
        }
    
        /*
         * 中文转unicode编码
         */
        public static String gbEncoding(final String gbString) {
            char[] utfBytes = gbString.toCharArray();
            String unicodeBytes = "";
            for (int i = 0; i < utfBytes.length; i++) {
                String hexB = Integer.toHexString(utfBytes[i]);
                if (hexB.length() <= 2) {
                    hexB = "00" + hexB;
                }
                unicodeBytes = unicodeBytes + "\u" + hexB;
            }
            return unicodeBytes;
        }
        /*
         * unicode编码转中文
         */
        public static String decodeUnicode(final String dataStr) {
            int start = 0;
            int end = 0;
            final StringBuffer buffer = new StringBuffer();
            while (start > -1) {
                end = dataStr.indexOf("\u", start + 2);
                String charStr = "";
                if (end == -1) {
                    charStr = dataStr.substring(start + 2, dataStr.length());
                } else {
                    charStr = dataStr.substring(start + 2, end);
                }
                char letter = (char) Integer.parseInt(charStr, 16); // 16进制parse整形字符串。
                buffer.append(new Character(letter).toString());
                start = end;
            }
            return buffer.toString();
        }
    }

    代码出处:https://www.cnblogs.com/boluoboluo/p/6504641.html,此处只做记录,方便查阅

  • 相关阅读:
    创建对象_原型(Prototype)模式_深拷贝
    创建对象_工厂方法(Factory Method)模式 与 静态工厂方法
    创建对象——单例(Singleton)模式
    模板方法模式
    移除HTML5 input在type="number"时的上下小箭头
    颜色名列表
    什么是盒模型?
    JQuery中$.ajax()方法参数详解
    zsh下docker命令tab补全方法
    ubuntu14.04 搭建gitlab服务
  • 原文地址:https://www.cnblogs.com/g177w/p/15181550.html
Copyright © 2011-2022 走看看