java中unicode和中文相互转换

摘要:
PublicclassTest{publicstaticvoidmain(String[]args){Strings=“运输位置设置导出模板”;Stringtt=gbEncoding(s);}publicstaticStringgbEncodiing(finalStringgbString){char[]utfBytes=gbString.toCharArray();StringunicodeByte

public class Test
{
    public static void main(String[] args)
    {
        String s = "中转地设置导出模板";
        String tt = gbEncoding(s);
    }

    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;
    }

    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();
    }
}

免责声明:文章转载自《java中unicode和中文相互转换》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android APP性能测试笔记(一)学习linux的一些网络资源下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle的dual

1.dual 确实是一张表.是一张只有一个字段,一行记录的表(虚拟表). 2.习惯上,我们称之为'伪表'.因为他不存储主题数据.3. 他的存在,是为了操作上的方便.因为select 都是要有特定对象的.如:select * from mytable ;select * from myview;等等. 4.dual 是由 sql.bsq 建立的。每个data...

编码格式

计算机常见的编码格式 ASCII,ISO-8859-1,GB2312,GNK,UTF-8,UTF-16等 ASCII:总共有128个字符,通过键盘输入就能显示; ISO-8859-1:总共能表示256个字符,扩展了ASCII编码,但是仍然是的单字节编码; GB2312:双字节编码,包含6763个汉字 GBK:扩展GB2312,加入更多汉字,兼容GB2312...

TCHAR数据类型介绍

转载:https://blog.csdn.net/mousebaby808/article/details/5259944 并不是所有的Windows操作系统都支持UNICODE编码的API(例如早期的Windows98), 这就造成了两种结果:某些版本的Windows应该应用wchar_t来保存字符, 某些平台的Windows应该使用char类型来保存字...

PCRE函数简介和使用示例【转】

PCRE函数简介和使用示例 标签:正则表达式listbuffercompilationnullperl 原文地址:http://blog.csdn.net/sulliy/article/details/6247155 PCRE是一个NFA正则引擎,不然不能提供完全与Perl一致的正则语法功能。但它同时也实现了DFA,只是满足数学意义上的正则。 P...

C++获取MAC与IP

#include <Nb30.h> #pragma comment(lib,"ws2_32.lib") #pragma comment(lib,"netapi32.lib") std::stringGetMac() { NCB ncb; typedef struct_ASTAT_ { ADA...

文本格式ANSI,Unicode等有什么区别

首先DBCS是亚洲的字符集,包含了ANSI,ANSI也就是ASCII值为0-255之间的字符,当字符为ANSI时,存放于文件中占用的是一个字节。如果是非ANSI的呢,则占用两字节。用VB的ASC函数可以很容易得到一个字符的DBCS值(或是说ANSI值吧)假如一个字符得到的DBCS值为&H1234,当然,这个值是转换成了十六进制的,因为对于磁盘存放来...