`

Java 中文于unicode 互转

阅读更多

关键字: java unicode convert 转换

Java代码 复制代码
  1.   

Java代码 复制代码
  1. package com.test;   
  2.   
  3. import java.io.BufferedReader;   
  4. import java.io.IOException;   
  5. import java.io.InputStreamReader;   
  6. import java.io.UnsupportedEncodingException;   
  7.   
  8. public class UnicodeByteUtil {   
  9.     public static void main(String[] args) {   
  10.         UnicodeByteUtil instance = new UnicodeByteUtil();   
  11.         BufferedReader reader = new BufferedReader(new InputStreamReader(   
  12.                 System.in));   
  13.         String line;   
  14.   
  15.         try {   
  16.             while ((line = reader.readLine()) != null) {   
  17.                 if (line.trim().equals("q"))   
  18.                     System.exit(0);   
  19.                 String s = instance.getBytes(line);   
  20.                 System.out.println("bytes:" + s);   
  21.                 // System.out.println("line:"+);   
  22.             }   
  23.         } catch (IOException e) {   
  24.             e.printStackTrace();   
  25.         }   
  26.     }   
  27.   
  28.     String getBytes(String s) {   
  29.         try {   
  30.             StringBuffer out = new StringBuffer("");   
  31.             byte[] bytes = s.getBytes("unicode");   
  32.             for (int i = 0; i < bytes.length; i++)   
  33.                 System.out.println(bytes[i]);   
  34.             for (int i = 2; i < bytes.length - 1; i += 2) { // *   
  35.                 out.append("\\u");   
  36.                 String str = Integer.toHexString(bytes[i + 1] & 0xff);// **   
  37.                 for (int j = str.length(); j < 2; j++) {   
  38.                     out.append("0");// ***   
  39.                 }   
  40.                 String str1 = Integer.toHexString(bytes[i] & 0xff);   
  41.                 out.append(str);   
  42.                 out.append(str1);   
  43.             }   
  44.             return out.toString();   
  45.         } catch (UnsupportedEncodingException e) {   
  46.             e.printStackTrace();   
  47.             return null;   
  48.         }   
  49.     }   
  50. }  
package com.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

public class UnicodeByteUtil {
	public static void main(String[] args) {
		UnicodeByteUtil instance = new UnicodeByteUtil();
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				System.in));
		String line;

		try {
			while ((line = reader.readLine()) != null) {
				if (line.trim().equals("q"))
					System.exit(0);
				String s = instance.getBytes(line);
				System.out.println("bytes:" + s);
				// System.out.println("line:"+);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	String getBytes(String s) {
		try {
			StringBuffer out = new StringBuffer("");
			byte[] bytes = s.getBytes("unicode");
			for (int i = 0; i < bytes.length; i++)
				System.out.println(bytes[i]);
			for (int i = 2; i < bytes.length - 1; i += 2) { // *
				out.append("\\u");
				String str = Integer.toHexString(bytes[i + 1] & 0xff);// **
				for (int j = str.length(); j < 2; j++) {
					out.append("0");// ***
				}
				String str1 = Integer.toHexString(bytes[i] & 0xff);
				out.append(str);
				out.append(str1);
			}
			return out.toString();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
			return null;
		}
	}
}


Java代码 复制代码
  1. public   static   String   loadConvert(String   theString)   {      
  2.                   char   aChar;      
  3.                   int   len   =   theString.length();      
  4.                   StringBuffer   outBuffer   =   new   StringBuffer(len);      
  5.        
  6.                   for   (int   x=0;   x<len;   )   {      
  7.                           aChar   =   theString.charAt(x++);      
  8.                           if   (aChar   ==   '\\')   {      
  9.                                   aChar   =   theString.charAt(x++);      
  10.                                   if   (aChar   ==   'u')   {      
  11.                                           //   Read   the   xxxx      
  12.                                           int   value=0;      
  13.           for   (int   i=0;   i<4;   i++)   {      
  14.                   aChar   =   theString.charAt(x++);      
  15.                   switch   (aChar)   {      
  16.                       case   '0':   case   '1':   case   '2':   case   '3':   case   '4':      
  17.                       case   '5':   case   '6':   case   '7':   case   '8':   case   '9':      
  18.                             value   =   (value   <<   4)   +   aChar   -   '0';      
  19.             break;      
  20.       case   'a':   case   'b':   case   'c':      
  21.                                                       case   'd':   case   'e':   case   'f':      
  22.             value   =   (value   <<   4)   +   10   +   aChar   -   'a';      
  23.             break;      
  24.       case   'A':   case   'B':   case   'C':      
  25.                                                       case   'D':   case   'E':   case   'F':      
  26.             value   =   (value   <<   4)   +   10   +   aChar   -   'A';      
  27.             break;      
  28.       default:      
  29.                                                               throw   new   IllegalArgumentException(      
  30.                                                                                         "Malformed   \\uxxxx   encoding.");      
  31.                                                   }      
  32.                                           }      
  33.                                           outBuffer.append((char)value);      
  34.                                   }   else   {      
  35.                                           if   (aChar   ==   't')   aChar   =   '\t';      
  36.                                           else   if   (aChar   ==   'r')   aChar   =   '\r';      
  37.                                           else   if   (aChar   ==   'n')   aChar   =   '\n';      
  38.                                           else   if   (aChar   ==   'f')   aChar   =   '\f';      
  39.                                           outBuffer.append(aChar);      
  40.                                   }      
  41.                           }   else      
  42.                                   outBuffer.append(aChar);      
  43.                   }      
  44.                   return   outBuffer.toString();      
  45.           }  
public   static   String   loadConvert(String   theString)   {   
                  char   aChar;   
                  int   len   =   theString.length();   
                  StringBuffer   outBuffer   =   new   StringBuffer(len);   
    
                  for   (int   x=0;   x<len;   )   {   
                          aChar   =   theString.charAt(x++);   
                          if   (aChar   ==   '\\')   {   
                                  aChar   =   theString.charAt(x++);   
                                  if   (aChar   ==   'u')   {   
                                          //   Read   the   xxxx   
                                          int   value=0;   
          for   (int   i=0;   i<4;   i++)   {   
                  aChar   =   theString.charAt(x++);   
                  switch   (aChar)   {   
                      case   '0':   case   '1':   case   '2':   case   '3':   case   '4':   
                      case   '5':   case   '6':   case   '7':   case   '8':   case   '9':   
                            value   =   (value   <<   4)   +   aChar   -   '0';   
            break;   
      case   'a':   case   'b':   case   'c':   
                                                      case   'd':   case   'e':   case   'f':   
            value   =   (value   <<   4)   +   10   +   aChar   -   'a';   
            break;   
      case   'A':   case   'B':   case   'C':   
                                                      case   'D':   case   'E':   case   'F':   
            value   =   (value   <<   4)   +   10   +   aChar   -   'A';   
            break;   
      default:   
                                                              throw   new   IllegalArgumentException(   
                                                                                        "Malformed   \\uxxxx   encoding.");   
                                                  }   
                                          }   
                                          outBuffer.append((char)value);   
                                  }   else   {   
                                          if   (aChar   ==   't')   aChar   =   '\t';   
                                          else   if   (aChar   ==   'r')   aChar   =   '\r';   
                                          else   if   (aChar   ==   'n')   aChar   =   '\n';   
                                          else   if   (aChar   ==   'f')   aChar   =   '\f';   
                                          outBuffer.append(aChar);   
                                  }   
                          }   else   
                                  outBuffer.append(aChar);   
                  }   
                  return   outBuffer.toString();   
          }

Java代码 复制代码
  1. private   static   String   unicodeToGB(String   s)   {      
  2.           StringBuffer   sb   =   new   StringBuffer();      
  3.           StringTokenizer   st   =   new   StringTokenizer(s,   "\\u");      
  4.           while   (st.hasMoreTokens())   {      
  5.               sb.append(   (char)   Integer.parseInt(st.nextToken(),   16));      
  6.           }      
  7.           return   sb.toString();      
  8.       }  
分享到:
评论

相关推荐

    Java实现中文字符串与unicode互转工具类

    "Java实现中文字符串与unicode互转工具类" Java实现中文字符串与unicode互转工具类是指使用Java语言实现中文字符串与unicode码之间的相互转换。这个工具类主要用于解决中文字符串与unicode码之间的转换问题,提供了...

    中英文与Unicode码互转

    《中英文与Unicode码互转》是一款非常实用的工具,主要功能是帮助用户将中文和英文字符转换成Unicode编码,反之亦然。Unicode是一种全球通用的字符编码标准,旨在为世界上所有的文字提供一个统一的表示方式,使得...

    中文 英文 和 Unicode 互转

    "Unicoude和中文互转"这个压缩包文件很可能包含了一些实用的工具或者代码示例,用于演示如何在不同编码间进行转换。通过学习和理解这些工具的工作原理,开发者可以更好地处理多语言文本,确保数据在不同系统和平台间...

    字符串与Unicode互转工具

    本文将深入探讨“字符串与Unicode互转工具”所涉及的关键知识点,包括字符串的基本概念、Unicode编码体系以及Delphi编程语言中的实现。 首先,让我们了解字符串。在计算机科学中,字符串是由字符组成的序列,可以是...

    中文与asc码unicode码互转

    在实际应用中,"两款工具(中文与asc码,unicode码互转)"可能提供了这样的功能,能够方便用户在处理中文文本时进行编码转换。这些工具通常会有用户友好的界面,用户输入或选择要转换的字符或编码,工具会自动完成...

    Unicode与中文互转

    标题中的“Unicode与中文互转”涉及到的是字符编码和转换技术。Unicode是一种国际标准,它定义了一种在各种计算机系统间统一表示文本的方法,包括中文在内的各种语言字符都能在Unicode中找到唯一对应的编码。中文...

    unicode和GBK互转源码及查表

    描述中的"互转的接口函数源码"可能包含了这些转换函数的定义,比如C++或Java中的函数声明,以及对应的实现。这些函数通常接收和返回字符串或字节数组,并处理编码转换的细节。 "互转的查询表"则可能是一个映射表,...

    Notepad++(UNICODE)简体中文

    综上所述,Notepad++(UNICODE)简体中文版是中文开发者理想的文本编辑工具,它不仅具备基本的文本编辑功能,还具备高级的编程特性,同时解决了中文字符的显示问题,使其在处理中文编码的项目时表现优异。...

    java 中英文与十六进制unicode转换源码例程

    转换效果:中文English &lt;--&gt; 4e2d65870045006e0067006c006900730068

    Unicode与中文互换相关

    本文将深入探讨如何在Java中实现中文与Unicode之间的相互转换,这对于跨平台、国际化应用程序的开发至关重要。 #### 二、Unicode基础知识 Unicode是一种字符编码标准,旨在为每种语言中的每个字符分配唯一的数字...

    java 简繁字互转换DEMO

    在Java编程语言中,处理简体与繁体字的互换是一个常见的需求,尤其是在处理中文文本或者进行跨地区交流时。这个"java 简繁字互转换DEMO"提供了一个示例,帮助开发者理解如何实现这样的功能。下面将详细探讨相关知识...

    中文转Unicode

    在描述中提到的“中文和Unicode互转”,意味着不仅能够将中文字符转成Unicode,还能把已经编码的Unicode数据还原为中文字符。这一功能在处理跨平台、跨语言的数据时非常有用,确保信息能准确无误地传递。 标签...

    Java中文繁体转换.rar

    这个名为"Java中文繁体转换.rar"的压缩包文件,显然包含了用于进行中文繁体和简体互转的工具类。 在Java中,Unicode字符集是默认的字符编码,它包含了几乎世界上所有语言的文字,包括繁体中文和简体中文。Unicode的...

    js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换&#XXX函数代码

    文章中提到的PHP开发实现的汉字与Unicode互转功能,支持十六进制和十进制表示。在PHP中,可以使用`ord`函数来获取字符的ASCII码(或Unicode码),使用`chr`函数来根据ASCII码或Unicode码得到对应的字符。 综上所述...

    基于Java实现的汉字与拼音互转的工具库源码+项目说明(带简单的分词功能).zip

    这个项目的缘起是,前几天女朋友问我有没有java的拼音转汉字的库,一查似乎没有,于是找到python-pinyin,剽窃之。 :joy: 哈哈。 将汉字转拼音,或者是将拼音转汉字的一个工具库,内存占用很小。功能有: 1. 支持...

    Java文件编码转换源码

    GBK是中国大陆广泛使用的汉字编码标准,它兼容GB2312并增加了更多的汉字和符号。UTF-8则是一种可变长度的Unicode编码,能表示世界上几乎所有的字符。 在Java中,我们可以使用`java.nio.charset`包下的类来处理编码...

    用java写的简体和繁体互转软件

    本项目是一个使用Java编写的简体中文与繁体中文互转软件,旨在提供一个学习和参考的实例,帮助开发者理解如何处理中文字符集转换的问题。 1. **Java编程基础** - Java是一种跨平台的面向对象的编程语言,它的“一...

    java 字符串转16进制Ascii

    总结一下,Java中字符串转16进制ASCII涉及的关键点有: 1. `char`类型的字符与ASCII码的转换。 2. 使用`Integer.toHexString()`将ASCII码转换为16进制字符串。 3. 处理Unicode字符时,需要考虑字符集和编码方式。 ...

    Java String字符串和Unicode字符相互转换代码

    在这个测试中,我们先将一个包含中文字符的字符串`test`转换为Unicode编码,然后将Unicode编码转换回去,最后打印出原始字符串和转换后的字符串。输出结果应与输入一致,证明了转换过程的正确性。 通过以上代码,...

    unicode编码与汉字的对应关系

    例如,UTF-8编码是一种可变长度的Unicode编码方式,广泛应用于Web页面和文件传输中,因为它能高效地表示包括汉字在内的多种语言字符。在Java中,可以使用`new String(byte[], "UTF-8")`这样的构造函数将字节流转换为...

Global site tag (gtag.js) - Google Analytics