`
canofy
  • 浏览: 831067 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

java中文转unicode码

    博客分类:
  • j2EE
阅读更多
转载地址:http://www.iteye.com/topic/471901
http://blog.csdn.net/zhengjianqi/archive/2008/03/27/2222846.aspx

使用了两种方法进行判断

/**
	 * 把中文转成Unicode码
	 * @param str
	 * @return
	 */
	public String chinaToUnicode(String str){
		String result="";
		for (int i = 0; i < str.length(); i++){
            int chr1 = (char) str.charAt(i);
            if(chr1>=19968&&chr1<=171941){//汉字范围 \u4e00-\u9fa5 (中文)
                result+="\\u" + Integer.toHexString(chr1);
            }else{
            	result+=str.charAt(i);
            }
        }
		return result;
	}

	/**
	 * 判断是否为中文字符
	 * @param c
	 * @return
	 */
	public  boolean isChinese(char c) {
        Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
        if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
                || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
                || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
                || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
            return true;
        }
        return false;
    }

static String string2Unicode(String s) {
    try {
      StringBuffer out = new StringBuffer("");
      byte[] bytes = s.getBytes("unicode");
      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);
        out.append(" ");
      }
      return out.toString().toUpperCase();
    }
    catch (UnsupportedEncodingException e) {
      e.printStackTrace();
      return null;
    }
  } 

 

static String unicode2String(String unicodeStr){
    StringBuffer sb = new StringBuffer();
    String str[] = unicodeStr.toUpperCase().split("U");
    for(int i=0;i<str.length;i++){
      if(str[i].equals("")) continue;
      char c = (char)Integer.parseInt(str[i].trim(),16);
      sb.append(c);
    }
    return sb.toString();
  }

分享到:
评论
1 楼 CoderDream 2013-12-04  
/**
* 输出十进制,格式为&#00000; 如“中国”输出:&#20013;&#22269;
*
* @param s
* @return
*/
public static String string2UnicodeNumber(String s) {
try {
StringBuffer out = new StringBuffer("");
StringBuffer temp = null;
StringBuffer number = null;
byte[] bytes = s.getBytes("unicode");
for (int i = 2; i < bytes.length - 1; i += 2) {
temp = new StringBuffer("&#");
number = new StringBuffer("");
String str = Integer.toHexString(bytes[i + 1] & 0xff);
for (int j = str.length(); j < 2; j++) {
temp.append("0");
}
String str1 = Integer.toHexString(bytes[i] & 0xff);
// 十进制转化为十六进制,结果为C8。
// Integer.toHexString(200);
// 十六进制转化为十进制,结果140。
// Integer.parseInt("8C",16);
number.append(str1);
number.append(str);

BigInteger bi = new BigInteger(number.toString(), 16);
String show = bi.toString(10);

temp.append(show + ";");
out.append(temp.toString());
}

return out.toString();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
}

相关推荐

    java 中文Unicode转换

    总的来说,Java提供了丰富的API来处理Unicode编码,无论是转换中文字符还是从Unicode码点恢复字符,都可以轻松实现。在处理多语言文本时,理解和熟练运用Unicode编码是至关重要的。通过上述方法,你可以有效地在Java...

    Unicode码转中文和中文转Unicode码的最简便的方法

    中文转Unicode码和Unicode码转中文的过程在Java环境下可以通过`native2ascii`工具轻松实现,这个工具是Java开发工具包(JDK)的一部分。 **中文转Unicode码**: 1. 首先,你需要确保已经安装了Java JDK。JDK包含了...

    常用的java汉字unicode编码

    在给定的文件中,虽然部分内容难以直接解析为明确的IT知识,但通过其标题“常用的java汉字unicode编码”以及描述“该文档有常用的java汉字unicode编码”,我们可以深入探讨与之相关的知识点。 ### Unicode编码的...

    Unicode编码转GBK编码(汉字转GBK)

    在网上找资料很少有汉字直接转GBK编码格式,一般都是汉字转Unicode编码,这套是将汉字先转换成Unicode编码,在通过参照表得出汉字的GBK编码数据。虽然是一个js文件,但是加以修改可以用于很多平台上如:小程序,...

    Java做的Unicode编码转换器

    Java编写的Unicode编码转换器是一种实用工具,它能够帮助用户将各种国家和地区的文字转换成Unicode编码,同时也能实现从Unicode编码回转到原始字符。Unicode是一种国际标准,旨在为全球所有的字符提供一个统一的编码...

    java实现十六进制字符unicode与中英文转换示例

    UTF(Unicode Transformation Format)是Unicode的一个实现方式,用于将Unicode码点转换成实际的字节序列,以便在网络中传输或在存储介质中保存。UTF有多种变体,如UTF-8、UTF-16和UTF-32,它们根据需要处理的字符...

    JAVA反编译和unicode转字符.rar

    描述中的“反编译后的汉字unicode显示格式转换为字符格式的代码”意味着在反编译过程中,可能会遇到汉字以Unicode编码形式出现,这通常是由于Java字节码中存储字符串的方式决定的。Unicode编码虽然通用,但在直接...

    中英文与Unicode码互转

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

    中文转化为unicode格式的方法类

    总结来说,将中文转化为 Unicode 格式是通过理解 Unicode 编码原理,利用 Java 提供的相关 API 完成的。`unicodeConvert.java` 类是实现这一功能的代码载体,它可以方便地在各种场景下进行中文字符与 Unicode 之间的...

    最全的常用汉字Unicode码表

    本文提供的“最全的常用汉字Unicode码表”是一份详尽的资源,涵盖了日常使用频率较高的汉字及其对应的Unicode编码。例如,“的”这个字,在Unicode中的编码是`\u7684`,“一”的编码是`\u4e00`,以此类推。通过这些...

    Java编程将汉字转Unicode码代码示例

    文章中提供的Java代码示例即是实现汉字转Unicode码的功能。具体而言,代码中定义了一个名为`ToUnicode`的类,并在其中定义了`main`方法和`toUnicode`方法。`main`方法是程序的入口点,用于调用`toUnicode`方法并打印...

    中文与asc码unicode码互转

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

    java对汉字unicode处理

    java对汉字理得unicode 编码与解码处理

    Unicode中文编码对照表

    标签“源码”暗示了这个话题可能涉及到编程和代码实现,可能讲解了如何在编程语言中使用Unicode编码来处理中文字符,例如Java、Python或C++。而“工具”标签则可能意味着存在某种工具或库,可以帮助开发者进行...

    java中文繁体转中文简体

    在“java中文繁体转中文简体”这个主题中,我们主要讨论的是如何利用Java技术来实现中文繁体字到简体字的转换。 首先,我们需要了解中文字符集。在计算机中,中文字符的表示通常使用Unicode编码,它包含了繁体字和...

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

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

    汉字与unicode相互转换

    Unicode 转汉字则是反过来的过程,根据 Unicode 编码找到对应的汉字。这通常涉及到字符编码的解码过程,例如在 Java 中,可以使用 `Character.codePointAt()` 和 `Character.toString()` 方法进行转换。在 ...

    Unicode编码所有汉字

    要使用Java来处理Unicode编码的所有汉字,首先你需要确保你的开发环境已经正确安装了Java运行时环境(JRE)和Java开发工具包(JDK)。JDK包含了Java编译器和各种开发工具,其中`javac`命令用于将源代码编译成可执行...

    Java 中文字符按Unicode排序的实现方法

    Java 中文字符按 Unicode 排序的实现方法 在 Java 中,实现中文字符按 Unicode 排序是一件非常重要的事情,特别是在处理中文字符串时。今天,我们将探讨如何使用 Java 语言来实现中文字符按 Unicode 排序。 在 ...

    unicode码转中文

    总之,“unicode码转中文”是一个涉及字符编码和文件处理的典型问题,而UploadServlet.java可能是解决这个问题的核心代码部分。理解Unicode编码原理,掌握Java的字符编码和文件操作技术,对于开发高效、可靠的Web...

Global site tag (gtag.js) - Google Analytics