原文地址:
http://www.cnitblog.com/neatstudio/archive/2006/07/28/14315.html
js
mode="zhuan";
function encode(obj,btn){
if(mode=="zhuan"){
obj.value=obj.value.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/gi,"&#x$2;")});
btn.value="还原";
mode="huan";
}else{
obj.value=unescape(obj.value.replace(/&#x/g,'%u').replace(/;/g,''));
btn.value="转化";
mode="zhuan";
}
}
JAVA:
//转为unicode
public static void writeUnicode(final DataOutputStream out, final String value) {
try {
final String unicode = gbEncoding( value );
final byte[] data = unicode.getBytes();
final int dataLength = data.length;
System.out.println( "Data Length is: " + dataLength );
System.out.println( "Data is: " + value );
out.writeInt( dataLength ); //先写出字符串的长度
out.write( data, 0, dataLength ); //然后写出转化后的字符串
} catch (IOException e) {
}
}
public static String gbEncoding( final String gbString ) {
char[] utfBytes = gbString.toCharArray();
String unicodeBytes = "";
for( int byteIndex = 0; byteIndex < utfBytes.length; byteIndex ++ ) {
String hexB = Integer.toHexString( utfBytes[ byteIndex ] );
if( hexB.length() <= 2 ) {
hexB = "00" + hexB;
}
unicodeBytes = unicodeBytes + "\\\\u" + hexB;
}
System.out.println( "unicodeBytes is: " + unicodeBytes );
return unicodeBytes;
}
/** *//*****************************************************
* 功能介绍:将unicode字符串转为汉字
* 输入参数:源unicode字符串
* 输出参数:转换后的字符串
*****************************************************/
private String decodeUnicode( final String dataStr ) {
int start = 0;
int end = 0;
final StringBuffer buffer = new StringBuffer();
while( start > -1 ) {
end = dataStr.indexOf( "\\\\u", start + 2 );
String charStr = "";
if( end == -1 ) {
charStr = dataStr.substring( start + 2, dataStr.length() );
} else {
charStr = dataStr.substring( start + 2, end);
}
char letter = (char) Integer.parseInt( charStr, 16 ); // 16进制parse整形字符串。
buffer.append( new Character( letter ).toString() );
start = end;
}
return buffer.toString();
}
JSP:
/** *//** ToUnicode.java */
package com.edgewww.util;
import java.io.*;
/** *//**
* 字符串转换成Unicode码的类
* @author 栾金奎 jsp@shanghai.com
* @date 2001-03-05
*/
public class ToUnicode {
/** *//**
* 把字符串转换成Unicode码
* @param strText 待转换的字符串
* @param code 转换前字符串的编码,如"GBK"
* @return 转换后的Unicode码字符串
*/
public String toUnicode(String strText,String code) throws UnsupportedEncodingException{
char c;
String strRet = "" ;
int intAsc;
String strHex;
strText = new String(strText.getBytes("8859_1"),code);
for ( int i = 0; i < strText.length(); i++ ){
c = strText.charAt(i);
intAsc = (int)c;
if(intAsc>128){
strHex = Integer.toHexString(intAsc);
strRet = strRet + "&#x" + strHex+";";
}
else{
strRet = strRet + c;
}
}
return strRet ;
}
}
/** *//** 应用举例 */
/** *//** gbk2Unicode.jsp */
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<jsp:useBean id="g2u" scope="session" class="com.edgewww.util.ToUnicode"/>
<% String lang = "这是简体中文"; %>
<br>
<%=lang %>
<br>
<%=g2u.toUnicode(lang,"GBK") %>
分享到:
相关推荐
总结来说,将中文转化为 Unicode 格式是通过理解 Unicode 编码原理,利用 Java 提供的相关 API 完成的。`unicodeConvert.java` 类是实现这一功能的代码载体,它可以方便地在各种场景下进行中文字符与 Unicode 之间的...
在处理中文字符时,将汉字转化为Unicode编码,特别是在编写正则表达式进行文本处理时,是非常常见且重要的操作。下面我们将深入探讨这个话题。 首先,Unicode编码的核心理念是为每个独特的字符分配一个唯一的数字,...
本篇文章将深入探讨如何使用JavaScript将汉字转化为UNICODE编码,并提供相关工具的使用方法。 一、Unicode编码基础知识 Unicode是一种国际标准,用于表示世界上几乎所有的字符集,包括汉字。它使用一个数字来代表每...
本文将详细介绍如何将中文转化为Unicode编码,以及这对中文数据通信和显示的开发有何帮助。 1. Unicode编码介绍: Unicode是一个包含几乎世界上所有语言字符的编码系统,它为每个字符分配了一个唯一的数字,称为码...
将汉字转化为Unicode编码,有些文件不支持中文,鼻血转换,如js文件
编码是指将汉字转化为Unicode的过程,解码则是将Unicode编码还原成可读的汉字。在编码过程中,转换器会查找特定汉字在Unicode字符集中的位置,并将其对应的16进制数值转换成Unicode编码形式。例如,汉字“汉”在...
这个“汉字转化Unicode工具源代码”就是专门用于将汉字转换成Unicode编码的软件开发资源。 源代码通常是程序员用编程语言编写的程序文本,通过编译或解释后可以生成可执行程序。在这个项目中,我们可以看到一系列与...
Unicode码,全称为统一码或万国码,是一种在计算机科学领域广泛使用的字符编码标准,旨在为世界上所有的字符提供一个唯一的、统一的数字表示。Unicode的出现解决了早期各种字符编码系统(如ASCII、GB2312等)无法...
Unicode码是一种国际标准字符编码,它能够表示世界上几乎所有的文字和符号,包括中文。Unicode码以16位或32位二进制形式存储每个字符,确保了不同语言间的兼容性和可交换性。中文转Unicode码和Unicode码转中文的过程...
本文将深入探讨汉字与Unicode在C#中的相互转化,并提供相关的代码示例。 首先,我们来理解一下汉字与Unicode的关系。汉字是中文的字符,其在计算机中存储通常有两种主要方式:GBK(一种针对简体中文的扩展GBK编码)...
在信息技术领域,为了计算机能够识别和处理汉字,需要将汉字转化为特定的编码形式。本资源“汉字笔画笔顺Unicode和GB码数据库(20902汉字).rar”提供了关于汉字笔画笔顺以及Unicode和GB编码的数据,对于研究汉字信息...
汉字是中文书写系统的核心,是中华文化传承的重要载体。在计算机处理汉字时,就需要用到特定的编码方式来表示这些字符。Unicode(统一码)是一种全球通用的字符编码标准,它为世界上几乎所有的文字提供了一个唯一的...
Unicode是一种广泛使用的字符编码标准,它包含了世界上几乎所有的字符,包括汉字、拉丁字母、希腊字母等。它的主要特点是用一个统一的编码来表示各种语言的字符,避免了编码不一致导致的问题。在PHP中,Unicode编码...
在 GPRS 环境下,汉字通常需要转化为特定编码,如 Unicode,以便于在网络上传输。 TC35I 是西门子推出的一款 GSM/GPRS 模块,常用于开发嵌入式通信系统。这种模块允许设备通过无线网络发送和接收数据,包括短信。在...
了解并掌握汉字转化为二进制的方法,对于进行中文信息处理、编程、网络传输以及数据存储等任务都极其重要。通过深入理解这些知识点,开发者可以更好地处理涉及汉字的数据,确保其在不同环境下的正确性和一致性。
有的时候,遇见中文都被转化成了Unicode内码,看着很不爽,于是写了这么个小工具,用来将Unicode内码转换为中文,可以实现整篇的转换。 另外,此工具也可以将中英文转换为Unicode内码(您可以选择是否将英文转换)...
首先,通过GBK解码器将GBK编码的字节序列转化为码点,然后再用Unicode编码器将这些码点转换成UTF-8或其他Unicode编码格式的字节序列。 Unicode编码有多种实现方式,其中最常用的是UTF-8、UTF-16和UTF-32。UTF-8是最...
在开发stm32时,从网上接收到utf8的数据流中包含汉字,如果要正确的在串口中打印汉字的话,就要把utf8(一个汉字3字节)转为GB2312(一个汉字2字节),这个过程不能直接转化,因为GB2312只有和16位的Unicode有映射,...