中文和unicode互转

public class Test {
    public static void main(String[] args) {
        String uname="欧阳红";
        for (int i = 0; i < uname.length(); i++) {
            char unamechar=uname.charAt(i);
            System.out.println(unamechar+"="+gbEncoding(String.valueOf(unamechar)));
        }
    }

    /**
     * 把中文转成Unicode编码
     *
     * @param gbString
     * @return
     */
    public static String gbEncoding(final String gbString) {
        char[] utfBytes = gbString.toCharArray();
        String unicodeBytes = "";
        for (int byteIndex = 0; byteIndex < utfBytes.length; byteIndex++) {
            String hexB = Integer.toHexString(utfBytes[byteIndex]);
            if (hexB.length() <= 2) {
                hexB = "00" + hexB;
            }
            unicodeBytes = unicodeBytes + "\\u" + hexB;
        }
        //System.out.println("unicodeBytes is: " + unicodeBytes);
        return unicodeBytes;
    }

    /**
     * 把Unicode编码转成中文
     *
     * @param dataStr
     * @return
     */
    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();
    }

}
时间: 2024-11-10 01:35:47

中文和unicode互转的相关文章

php中文和unicode互转

unicode转中文时可以使用json_decode()函数实现. 中文转unicode时需要对字符串转换成UCS-4编码,再转成16进制,再从16进制转换成10进制加上&#前缀来实现中文转unicode编码. 一.unicode转中文 php <?php //unicode转中文 function unicodeDecode($unicode_str){ $json = '{"str":"'.$unicode_str.'"}'; $arr = jso

C#中文和UNICODE编码转换

C#中文和UNICODE编码转换 //中文轉為UNICODE string str = "中文"; string outStr = ""; if (!string.IsNullOrEmpty(str)) { for (int i = 0; i < str.Length; i++) { //將中文轉為10進制整數,然後轉為16進制unicode outStr += "\\u" + ((int)str[i]).ToString("x&

python中文和unicode字符串之间的互相转换

首先:中文->unicode字符串 import chardet import codecs >>> a = "我是一个中国人">>> a'\xce\xd2\xca\xc7\xd2\xbb\xb8\xf6\xd6\xd0\xb9\xfa\xc8\xcb' >>> chardet.detect(a){'confidence': 0.99, 'encoding': 'GB2312'}>>> b = a.decod

C# 中文和UNICODE字符转换方法

这个方式其实很多见,特别是使用Json的时候用的比较多,其实也很简单主要是使用了ToString("x")方法直接看代码吧 string str = "大家好我是小哲"; string outStr = ""; if (!string.IsNullOrEmpty(str)) { for (int i = 0; i < str.Length; i++) { //将中文字符转为10进制整数,然后转为16进制unicode字符 outStr +=

中文和Unicode互相转化

Unicode转中文 String unicode = "\u6211\u7231\u7956\u56fd.mp3"; String result = new String(unicode.getBytes("UTF-8"), "UTF-8"); System.out.println(result); 结果:我爱祖国 中文转Unicode String chinese = "我爱祖国"; StringBuffer unicod

wprintf、wcout输出中文和unicode中文字符串的转换问题

%E4%BD%BF%E7%94%A8CHttpFile%E4%BB%8E%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF%E6%AD%A3%E7%A1%AE%E7%9A%84%E8%AF%BB%E5%8F%96%E6%95%B0%E6%8D%AE ??????spoBAByG??υ????d? http://auto.315che.com/ztzhidoud2/qa23963522.htm http://auto.315che.com/kaiyix3/qa23989881

匹配除中文和空格意外的正则写法

原文摘自:http://blog.csdn.net/orichisonic/article/details/49335527 现在有一个需求就是设置用户的输入密码不能为中文和空格 实例: /^[^\u4E00-\u9FA5\uF900-\uFA2D\u0020]{8,16}$/ "password":/^[^\u4E00-\u9FA5\uF900-\uFA2D\u0020]{8,16}$/, "u4e00"代表什么意思 "u9fa5"代表什么意思

python2.7.x的字符串编码到底什么鬼?(中文和英文的处理)

一直以来我其实一直对python的编码弄得非常晕,能正常编码,也能处理一些情况.但是始终不明白有些问题究竟为何出,原因是什么,为什么要这样用. 今天晚上正好好好研究了一番解答了自己心中的困惑. Q:python2.7.x里面的中文表示到底是什么鬼? A:直接来看看 In [23]: x = '好不好喝都要喝' In [24]: x Out[24]: '\xe5\xa5\xbd\xe4\xb8\x8d\xe5\xa5\xbd\xe5\x96\x9d\xe9\x83\xbd\xe8\xa6\x81\

【Python】Python在文本分析中将中文和非中文进行分割

1.问题描述 进行文本分析的时候需要将中文和非中文进行分开处理,下面通过Python将文本中的中文部分提取出来进行需要的处理. 2.问题解决 开发环境:Linux 程序代码如下:split.py #!/usr/bin/python #-*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding("utf8") import re #导入正则表达式模块:re模块 def translate(inputFile, ou