zoukankan      html  css  js  c++  java
  • java中文和unicode编码相互转换(转)

    码如下

    import java.io.UnsupportedEncodingException;
    
    public class TestUnicode{
    
        public static void main(String[] args) throws UnsupportedEncodingException {
            String s = "简介";
            System.out.println(s+" --的unicode编码是:"+gbEncoding(s));
            System.out.println(gbEncoding(s) + " --转换成中文是:"+decodeUnicode(gbEncoding(s)));
            
            //System.out.println(gbEncoding(s) + " --转换成中文是:"+decodeUnicode("\u7b80\u4ecb"));
        }
        
        /*
         * 中文转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();
        }
    }

      

  • 相关阅读:
    .Net中多线程类的使用和总结
    单例模式完整解析
    避免构造/析构函数调用虚函数(转)
    正则表达式
    序列化与反序列化
    数组的使用,指针的使用
    jmeter单接口和多接口测试
    HTML5 input placeholder 颜色修改
    h5动画效果总结
    8月份月度反思--做一个快乐的程序员
  • 原文地址:https://www.cnblogs.com/boluoboluo/p/6504641.html
Copyright © 2011-2022 走看看