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

来源:互联网 发布:八爪鱼破解数据导出 编辑:程序博客网 时间:2024/06/05 18:58

一、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 (这个网上看到的,未测试)

 

原创粉丝点击