java,汉字转unicode码|unicode转汉字

原创 2013年12月05日 10:37:24

一、java,汉字转unicode码|unicode转汉字:

public class UnicodeStr {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println(str2Unicode("最真不过平淡,最美不过平凡。"));
		System.out.println(unicode2Str("\u6700\u771f\u4e0d\u8fc7\u5e73\u6de1\uff0c\u6700\u7f8e\u4e0d\u8fc7\u5e73\u51e1\u3002"));
	}

	 public static String str2Unicode(String s)
	  {
	    String str = "";
	    if ((s == null) || (s.trim().equals("")))
	      return str;
	    for (int i = 0; i < s.length(); i++)
	    {
	      byte[] bytes = String.valueOf(s.charAt(i)).getBytes();
	      String s4;
	      if (bytes.length == 1)
	      {
	        s4 = String.valueOf(s.charAt(i));
	      } else {
	        int ch = s.charAt(i);
	        s4 = "\\u" + Integer.toHexString(ch);
	      }
	      str = str + s4;
	    }
	    return str;
	  }

	 public static String unicode2Str(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') {
		     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      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();

		 }

}

二、还有一种文字转unicode方法就是安装了java的jdk后就可以用bin目录下的native2ascii.exe来转换。先将要转换的文字写入一个文本文件,如str.txt ,则在命令行方式下键入命令:native2ascii str.txt (这个网上看到的,未测试)

 

java编程心得(十五)——将Unicode编码转换为汉字

本代码针对Java语言,函数传入汉字的Unicode编码字符串,返回相应的汉字字符串,具体代码如下: public String convert(String utfString){ Str...
  • Pc620
  • Pc620
  • 2013年08月21日 09:58
  • 35337

JAVA方法 字符串与unicode的相互转换

unicode编码简而言之就是将每一个字符用16位2进制数标识。但是通常都用4位的16进制数标识。  例如:  1)中文字符串"你好"的unicode码为:\u60\u597d;  2)英文字符串"a...
  • z69183787
  • z69183787
  • 2014年05月13日 21:43
  • 51012

【前端】JS 实现 unicode 中文互转

js实现unicode与中文互转,可处理 emoji 表情存储等问题
  • u011704894
  • u011704894
  • 2016年06月18日 19:38
  • 12832

Unicode编码和中文互转(JAVA实现)

//中文转Unicode public static String gbEncoding(final String gbString) { //gbString = "测试" ...
  • u010612373
  • u010612373
  • 2016年05月18日 09:16
  • 19423

java 中文和Unicode码 互相转换

LZ很想像其他大牛一样,书写自己的博客,但是怎奈何才疏学浅,始终没有建立自己的篇幅文章,LZ也是个有梦想的人,那么就让原创的梦想在此起航吧。 中文和Unicode码 互相转换 package te...
  • a_as31243qadfg
  • a_as31243qadfg
  • 2016年07月28日 14:43
  • 2781

java Unicode 转 utf-8 汉字

package util; import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.util.regex.M...
  • zhaoyue007101
  • zhaoyue007101
  • 2014年11月06日 13:47
  • 4647

中文字符Unicode字符转换

  • 2008年02月09日 18:22
  • 66KB
  • 下载

java中unicode utf-8以及汉字之间的转换工具类

java中unicode utf-8以及汉字之间的转换工具类
  • u013905744
  • u013905744
  • 2017年07月05日 15:27
  • 4605

java程序实现Unicode码和中文互相转换笔记

根据前一篇的补充问题http://blog.csdn.net/fancylovejava/article/details/10142391 有了前一篇文章的了解,大概了解了unicode编码格式了 ...
  • fancylovejava
  • fancylovejava
  • 2013年08月21日 16:20
  • 19392

java 中文Unicode转换

  • 2012年11月19日 16:51
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java,汉字转unicode码|unicode转汉字
举报原因:
原因补充:

(最多只允许输入30个字)