导航:首页 > 编程语言 > Unicode转汉字java

Unicode转汉字java

发布时间:2023-02-05 01:41:36

A. 如何把properties中的所有unicode编码转为汉字

命令行界面用native2ascii工具
1.将汉字转为Unicode:
C:\Program Files\java\jdk1.5.0_04\bin>native2ascii
测试
\u6d4b\u8bd5
2.将Unicode转换为汉字:
C:\Program Files\Java\jdk1.5.0_04\bin>native2ascii -reverse
\u6d4b\u8bd5
测试

java 自带的一个native2ascii.exe是一个很好的转码工具,在bin目录下。如果你的properties中有汉字,需要转成unicode . 则把含有汉字的properties拷贝到bin 目录下, 然后在cmd里面进入bin目录,输入:native2ascii -encoding utf-8 Language-ext_zh_CN.properties.native Language-ext_zh_CN.properties就ok了。Language-ext_zh_CN.properties是转码后的文件。

在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验 证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码 常常是GBK等编码。需要将系统的编码转换为java正确识别的编码问题就解决了。

1、native2ascii简介:native2ascii 是sun java sdk提供的一个工具。用来将别的文本类文件(比如*.txt,*.ini,*.properties,*.java等等)编码转为Unicode编码。 为什么要进行转码,原因在于程序的国际化。Unicode编码的定义:Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每 种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算 机工作能力的增强,Unicode也在面世以来的十多年里得到普及。(声明:Unicode编码定义来自互联网)。

2、获取native2ascii:安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录,其中native2ascii.exe正是。

3、native2ascii的命令行的命名格式:
native2ascii -[options] [inputfile [outputfile]]

说明:
-[options]:表示命令开关,有两个选项可供选择
-reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。
-encoding encoding_name:转换为指定编码,encoding_name为编码名称。
[inputfile [outputfile]]
inputfile:表示输入文件全名。
outputfile:输出文件名。如果缺少此参数,将输出到控制台。
4、最佳实践:首先将JDK的bin目录加入系统变量path。在盘下建立一个test目录,在test目录里建立一个zh.txt文件,文件内容为:“熔岩”,打开“命令行提示符”,并进入C:\test目录下。下面就可以按照说明一步一步来操作,注意观察其中编码的变化。

A:将zh.txt转换为Unicode编码,输出文件到u.txt
native2ascii zh.txt u.txt
打开u.txt,内容为“\u7194\u5ca9”。
B:将zh.txt转换为Unicode编码,输出到控制台
C:\test>native2ascii zh.txt
\u7194\u5ca9
可以看到,控制台输出了“\u7194\u5ca9”。
C:将zh.txt转换为ISO8859-1编码,输出文件到i.txt
native2ascii -encoding ISO8859-1 zh.txt i.txt
打开i.txt文件,内容为“\u00c8\u00db\u00d1\u00d2”。
D:将u.txt转换为本地编码,输出到文件u_nv.txt
native2ascii -reverse u.txt u_nv.txt
打开u_nv.txt文件,内容为“熔岩”。
E:将u.txt转换为本地编码,输出到控制台
C:\test>native2ascii -reverse u.txt
熔岩
可以看到,控制台输出了“熔岩”。
F:将i.txt转换为本地编码,输出到i_nv.txt
native2ascii -reverse i.txt i_nv.txt
打开i_nv.txt文件,内容为“\u00c8\u00db\u00d1\u00d2”。发现转码前后完全一样的。也就是说,等于没有转,或者说思想糊涂,对命名没有理解。。

G:将i.txt转换为GBK编码,输出到i_gbk.txt
native2ascii -reverse -encoding GBK i.txt i_gbk.txt
打开i_gbk.txt文件,内容为“\u00c8\u00db\u00d1\u00d2”。发现转码前后完全一样的。也就是说,等于没有转,或者说思想糊涂,对命名没有理解。

H:将u_nv.txt转码到本地编码GBK,输出到控制台
C:\test>native2ascii -reverse -encoding ISO8859-1 i.txt
熔岩
从这个结果看,目标达到到了,编码i.txt为ISO8859-1,转为本地编码后内容为“熔岩”。从这里应该意识到,native2ascii -reverse命令中-encoding指定的编码为源文件的编码格式。而在native2ascii 命令中-encoding指定的编码为(生成的)目标文件的编码格式。这一点非常的重要!切记!!

继续探索,新建文件12a.txt,内容“12axyz”。看看纯字母数字的编码又如何。

I:将纯字母数字的文本文件12a.txt转换为Unicode编码
native2ascii 12a.txt 12a_nv.txt
打开12a_nv.txt文件,内容为“12axyz”。
继续测试,转为ISO8859-1编码看看
C:\test>native2ascii -encoding ISO8859-1 12a.txt
12axyz
结果还是没有转码。
从结果可以得出结论:对于纯数字和字母的文本类型件,转码前后的内容是一样的。

B. java 中如何将unicode字符集转换成汉字

我这eclipse自动把它转中文了。。你看下这个。
http://blog.csdn.net/shigang_xing/article/details/8263728

C. java把unicode还原成汉字

这个本来就是unicode的,按unicode的来读才行。
FF FE 开头是unicode的标志

public class ReadUnicode {
public static void main(String[] args) throws Exception{
String encoding = "Unicode";
String txtFilePath = "ReadUnicode321.txt";//
String tmpLineVal;
InputStreamReader read = new InputStreamReader(new FileInputStream(txtFilePath), encoding);
BufferedReader bufread = new BufferedReader(read);
while((tmpLineVal = bufread.readLine())!=null){
System.out.println(tmpLineVal);
}
bufread.close();
read.close();
}
}

D. java怎么把汉字转化成unicode编码

中文转换成Unicode编码和Unicode编码转换成中文

importjava.util.Properties;
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="简介";
Stringtt=gbEncoding(s);//Stringtt1="你好";
System.out.println(decodeUnicode("\u7b80\u4ecb"));//System.out.println(decodeUnicode(tt1));
System.out.println(HTMLDecoder.decode("中国"));
Strings1="u7b80u4ecb";
System.out.println(s.indexOf("\"));
}
publicstaticStringgbEncoding(finalStringgbString){
char[]utfBytes=gbString.toCharArray();
StringunicodeBytes="";
for(intbyteIndex=0;byteIndex<utfBytes.length;byteIndex++){
StringhexB=Integer.toHexString(utfBytes[byteIndex]);
if(hexB.length()<=2){
hexB="00"+hexB;
}
unicodeBytes=unicodeBytes+"\u"+hexB;
}
System.out.println("unicodeBytesis:"+unicodeBytes);
returnunicodeBytes;}
(finalStringdataStr){
intstart=0;
intend=0;
finalStringBufferbuffer=newStringBuffer();
while(start>-1){
end=dataStr.indexOf("\u",start+2);
StringcharStr="";
if(end==-1){
charStr=dataStr.substring(start+2,dataStr.length());
}else{
charStr=dataStr.substring(start+2,end);
}
charletter=(char)Integer.parseInt(charStr,16);//16进制parse整形字符串。
buffer.append(newCharacter(letter).toString());
start=end;
}
returnbuffer.toString();
}}
}
}
}

E. 用java如何把unicode码转成汉字

Java中字符和字符串都采用的是Unicode编码;汉字能够直接表示;不需要转换
可以测试一下
public
class
Unicode
2Ch
z
{
public
static
void
main(String[]
args)
{
System.out.print(cc);}}直接输出:保

F. Java如何将一段汉字变成unicode码

publicclassT{
publicstaticvoidmain(String[]args){
Strings="我爱你";
System.out.println(string2Unicode(s));
}
(Stringstring){

StringBufferunicode=newStringBuffer();

for(inti=0;i<string.length();i++){

//取出每一个字符
charc=string.charAt(i);

//转换为unicode
unicode.append("\u"+Integer.toHexString(c));
}

returnunicode.toString();
}
}

G. java 将字符串中含有unicode 转成中文!

publicclassConvert
{
(Stringasciicode)
{
String[]asciis=asciicode.split("\\u");
StringnativeValue=asciis[0];
try
{
for(inti=1;i<asciis.length;i++)
{
Stringcode=asciis[i];
nativeValue+=(char)Integer.parseInt(code.substring(0,4),16);
if(code.length()>4)
{
nativeValue+=code.substring(4,code.length());
}
}
}
catch(NumberFormatExceptione)
{
returnasciicode;
}
returnnativeValue;
}

publicstaticvoidmain(String[]args)
{
Stringstr=""JWHQK_JWQC":""";
Stringresult=ascii2native(str);
System.out.println(result);
}
}

H. JAVA程序,从键盘输入汉字,并将汉子转换为相应的unicode编码,怎么写啊

上代码:

importjava.util.Scanner;

publicclassMain{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("请输入汉字:");
Stringinput=sc.nextLine();
if(input.length()==0){
System.out.println("输入错误");
return;
}

System.out.println("汉字转unicode结果:");
char[]chars=input.toCharArray();
for(inti=0;i<chars.length;i++){
Stringunicode=Integer.toHexString(chars[i]);
if(unicode.length()<=2){
//不足四位前面加0补齐
unicode="00"+unicode;
}
unicode="\u"+unicode;

System.out.println(chars[i]+":"+unicode);
}
}
}

I. JAVA如何将unicode转为中文。

importorg.apache.commons.lang.StringEscapeUtils;
publicclassrectangle{
publicstaticvoidmain(String[]arge){
Strings=StringEscapeUtils.unescapeHtml("&#25391;&#33633;&#22120;&#31867;&#22411;");
System.out.println(s);
}
}

你需要额外的工具:

简单的办法,去下载commons-lang-2.3.jar,然后加入到classpath里。


或者,如果用manve 加上:

<dependency>

<groupId>commons-lang</groupId>

<artifactId>commons-lang</artifactId>

<version>2.3</version>

</dependency>

让maven去自动下载。

J. java读取含有unicode编码的文件内容,并转换成汉字

可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。

BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容(unicode会自动转换为中文的)
};
备注:unicode不需要转换的,直接输出即可,会自动变成中文,如:
System.out.println("\u0061\u0062\u6c49\u5b57");
结果就是:ab汉字。

阅读全文

与Unicode转汉字java相关的资料

热点内容
redhatlinux最新 浏览:177
python字典编程词汇 浏览:144
微信和服务器如何通讯 浏览:10
百家号服务器配置有什么用 浏览:598
怎么为电脑加密 浏览:58
服务器出现差错是什么意思 浏览:616
苹果app移到商店里怎么删掉 浏览:254
phpjsphtml 浏览:63
吃鸡手机国际服服务器超时怎么办 浏览:68
努比亚Z5无命令 浏览:642
展示网站云服务器 浏览:872
代码混淆器php 浏览:367
贝恩pdf 浏览:208
丙烯pdf 浏览:368
云服务器华硕 浏览:713
sublime3运行python 浏览:191
怎么把安卓视频传到苹果上面 浏览:83
手机拍鬼片用什么app 浏览:642
爬山虎app是干什么用的 浏览:507
有哪些写给程序员的歌 浏览:51