`
hunankeda110
  • 浏览: 746159 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
001 package com.loyin.util;
002   
003 import java.lang.Character.UnicodeBlock;
004   
005 public class UnicodeTool {
006     /**
007       * 中文转换成 unicode
008       * @author fanhui
009       * 2007-3-15
010       * @param inStr
011       * @return
012       */
013      public static String encodeUnicode(String inStr) {
014             char[] myBuffer = inStr.toCharArray();
015              
016             StringBuffer sb = new StringBuffer();
017             for (int i = 0; i < inStr.length(); i++) {
018                 char ch=myBuffer[i];
019                 if((int)ch<10){
020                     sb.append("\\u000"+(int)ch);
021                     continue;
022                 }
023              UnicodeBlock ub = UnicodeBlock.of(ch);
024                 if(ub == UnicodeBlock.BASIC_LATIN){
025                  //英文及数字等
026                  sb.append(myBuffer[i]);
027                 }else if(ub == UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS){
028                  //全角半角字符
029                  int j = (int) myBuffer[i] - 65248;
030                  sb.append((char)j);
031                 }else{
032                  //汉字
033                  short s = (short) myBuffer[i];
034                     String hexS = Integer.toHexString(s);
035                     String unicode = "\\u"+hexS;
036                  sb.append(unicode.toLowerCase());
037                 }
038             }
039             return sb.toString();
040         }
041        
042      /**
043       * unicode 转换成 中文
044       * @author fanhui
045       * 2007-3-15
046       * @param theString
047       * @return
048       */
049      public static String decodeUnicode(String theString) {
050       char aChar;
051       int len = theString.length();
052       StringBuffer outBuffer = new StringBuffer(len);
053       for (int x = 0; x < len;) {
054        aChar = theString.charAt(x++);
055        if (aChar == '\\') {
056         aChar = theString.charAt(x++);
057         if (aChar == 'u') {
058          // Read the xxxx
059          int value = 0;
060          for (int i = 0; i < 4; i++) {
061           aChar = theString.charAt(x++);
062           switch (aChar) {
063           case '0':
064           case '1':
065           case '2':
066           case '3':
067           case '4':
068           case '5':
069           case '6':
070           case '7':
071           case '8':
072           case '9':
073            value = (value << 4) + aChar - '0';
074            break;
075           case 'a':
076           case 'b':
077           case 'c':
078           case 'd':
079           case 'e':
080           case 'f':
081            value = (value << 4) + 10 + aChar - 'a';
082            break;
083           case 'A':
084           case 'B':
085           case 'C':
086           case 'D':
087           case 'E':
088           case 'F':
089            value = (value << 4) + 10 + aChar - 'A';
090            break;
091           default:
092            throw new IllegalArgumentException(
093              "Malformed   \\uxxxx   encoding.");
094           }
095          }
096          outBuffer.append((char) value);
097         } else {
098          if (aChar == 't')
099           aChar = '\t';
100          else if (aChar == 'r')
101           aChar = '\r';
102          else if (aChar == 'n')
103           aChar = '\n';
104          else if (aChar == 'f')
105           aChar = '\f';
106          outBuffer.append(aChar);
107         }
108        } else
109         outBuffer.append(aChar);
110       }
111       return outBuffer.toString();
112      }
113   
114 }
0
10
分享到:
评论

相关推荐

    Unicode与中文互换相关

    ### Unicode与中文互换相关 #### 一、引言 在计算机编程中,字符串编码是处理文本数据的基础。Unicode作为国际上广泛接受的字符编码标准,支持世界上几乎所有语言的字符,包括中文。对于中文字符的处理,Unicode...

    汉字UNICODE互换工具.exe

    汉字UNICODE互换工具是一款专为处理汉字编码转换问题而设计的应用程序,它主要用于在不同的字符编码系统之间进行转换,确保在不同环境下汉字的正确显示和处理。在信息技术领域,尤其是在处理文本数据时,了解汉字...

    汉字Unicode互换工具

    汉字Unicode互换工具是一款专为处理汉字与Unicode编码转换而设计的应用程序。在信息技术领域,Unicode是一个国际标准,它定义了一种字符集,包含了全球几乎所有的文字系统,包括汉字。Unicode的主要目标是解决多语言...

    汉字Unicode互换小工具.rar

    汉字Unicode互换小工具是一款专为处理汉字与Unicode编码转换问题而设计的实用程序。Unicode是一种国际标准,它为世界上几乎所有的字符集提供了一个统一的编码方式,包括汉字。这个小工具可以帮助用户轻松地在汉字和...

    汉字Unicode互换小工具

    汉字Unicode互换小工具,方便好用,谢谢支持。

    Big5字与Unicode的互换

    ### Big5字与Unicode的互换 #### 一、引言 在计算机处理文本的过程中,字符编码扮演着至关重要的角色。不同的编码系统被设计出来以适应不同语言的需求。Big5和Unicode是两种广泛使用的字符编码标准,它们各自适用...

    汉字Unicode互换工具.zip

    汉字Unicode互换工具是一种用于处理汉字编码转换的实用程序,主要功能是将汉字在不同的编码格式之间进行转换,如UTF-8、GBK、BIG5等。Unicode是一种国际标准,为全球各种语言提供了一个统一的字符集,使得不同语言的...

    ConvertUnicode文字互换小工具

    本文将深入探讨Unicode与文字之间的互换,并介绍一个名为“ConvertUnicode”的小工具,它简化了这一过程,帮助用户轻松完成编码转换。 Unicode,全称统一码,旨在为世界上所有字符提供一个唯一的数字标识,无论这些...

    Unicode汉字互转工具源码

    2. **汉字与Unicode**: 汉字作为中文的主要构成部分,有着大量的字符。Unicode中,每个汉字都有一个对应的唯一编码,例如“汉”字在Unicode中的编码是U+6C49。通过Unicode,可以在不同系统中正确显示和处理汉字,...

    GB和UNICODE互换码表+查找函数

    总之,"GB和UNICODE互换码表+查找函数"是针对中文字符编码转换的重要工具,对于理解和处理中文字符在不同系统间的兼容性问题非常有用。理解和掌握这部分知识对于进行跨平台的文本处理工作至关重要。

    汉字unicode转换器

    汉字Unicode转换器是一种实用工具,主要用于在汉字与Unicode编码之间进行转换。Unicode是一个国际标准,旨在为世界上所有语言提供一个统一的字符集,使得不同语言的文字可以在计算机上进行互换和处理。它通过一个...

    Unicode汉字编码对照.7z

    例如,开发人员可以通过这些对照表来正确地显示或处理汉字,语言学习者可以借此了解汉字的拼音,甚至进行汉字与拼音的互换。在处理大量中文数据时,这些资源能够提供关键的支持,确保信息的准确性和一致性。

    [简单]js汉字与Unicode互转

    使用这些函数,我们可以轻松地进行汉字与Unicode的互换: ```javascript console.log(hanziToUnicode("汉")); // 输出:"27704" console.log(unicodeToHanzi("27704")); // 输出:"汉" ``` ### 5. Unicode.exe 在...

    UNICODE与GB编码互转C源代码

    本资源提供了一组 C 语言的源代码,用于在 UNICODE 和 GB 编码之间进行转换,帮助开发者解决在不同编码系统之间互换数据时遇到的问题。 首先,我们来了解一下 UNICODE 和 GB 编码。 UNICODE,也称为 UTF-16,是一...

    Unicod_to_GB2312_unicode转gb2312_

    通常,我们先将Unicode字符转换为UTF-8编码,因为UTF-8是最广泛支持的Unicode编码形式,且与ASCII兼容。 2. **查找映射表**:GB2312编码有一个固定的字库,每个字符都有一个特定的二进制表示。因此,我们需要一个...

    多字节、Unicode和UTF8字符串的互换

    多字节、Unicode和UTF8字符串的互换VB技术很实用的源码

    网页中文简繁体互换

    综上所述,网页中文简繁体互换是通过JavaScript技术实现的,主要依靠Unicode编码和转换算法。这一功能不仅提升了用户体验,还降低了开发成本,体现了Web开发的灵活性。在实际开发中,我们可以选择合适的库或者自定义...

    青云UnicodeASCIIHEX互换工具

    《青云Unicode ASCII HEX互换工具》是一款专为IT专业人士设计的应用软件,旨在方便用户在ASCII码、Unicode码以及十六进制(HEX)编码之间进行高效转换。这款工具能够实时进行编码转换,极大地提升了在处理字符编码...

    中文 Big5/GBK/Unicode/UTF8 内码转换器

    《中文编码转换器详解:Big5、GBK、Unicode与UTF8的互换之道》 在计算机世界里,字符编码是沟通人类语言与机器之间的重要桥梁。本文将详细讲解标题所提及的“中文 Big5/GBK/Unicode/UTF8 内码转换器”这一工具,...

    PHP汉字转拼音类函数直接调用输出

    PHP汉字转拼音类函数直接调用输出 'codetable_dir' =&gt; "./config/", // 存放各种语言互换表的目录 'SourceLang' =&gt; '', ... 'BIG5toUnicode_table' =&gt; 'big5-unicode.table' // 繁体中文转换为UNICODE的对照表 );

Global site tag (gtag.js) - Google Analytics