native2ascii用法解析

本文详细介绍了Sun Java SDK中native2ascii工具的功能及使用方法,包括如何将不同编码的文本文件转换为Unicode编码,以及如何从Unicode编码还原为本地编码。通过具体的步骤说明,帮助读者理解和掌握该工具的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

native2ascii是sun java sdk提供的一个工具。用来将别的文本类文件(比如*.txt,*.ini,*.properties,*.java等等)编码转为Unicode编码。为什么要进行转码,原因在于程序的国际化。

用法:native2ascii [-reverse] [-encoding 编码] [输入文件 [输出文件]]

-[options]:表示命令开关,有两个选项可供选择
-reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。
-encoding encoding_name:转换为指定编码,encoding_name为编码名称。
[inputfile [outputfile]]
inputfile:表示输入文件全名。
outputfile:输出文件名。如果缺少此参数,将输出到控制台

native2ascii命令的用法:

只有一种类型编码,可以说文本文件编码和文本内容编码指的是同一个意思。
建议理解成文本文件编码(看第四).

结论:
1.这里说的16进制的字符是本地编码的字符的16进制字符表示。
2.utf-8编码(有本地字符)和ANSI编码(有本地字符)的文件转成ANSI编码的本地字符的16进制字符表示是一样的。
3.utf-8编码(有本地字符)的文件要转成ANSI编码的(本地字符)的文件,要先转成ANSI编码的16进制字符文件,之后再转成ANSI编码的本地字符的文件。
4.前提是这个16进制的字符必须代表一个本地字符.

疑问:难道没有转换utf-8编码的本地字符文件转为utf-8编码的16进制字符表示的方法?!它和ANSI编码表示的
16进制一样吗?

一、把ANSI编码的本地字符文件转成ANSI编码的16进制文件再转回来。
两步走:
1.native2ascii -encoding gbk [ANSI编码文件,显示ANSI本地字符] [ANSI编码文件,即显示ANSI本地编码字符的十六进制字符]
2.native2ascii -reverse [ANSI编码文件,即显示ANSI本地编码字符的十六进制字符] [ANSI编码文件,即ANSI本地字符]

二、把ANSI编码的本地字符(或16进制字符)文件转成utf-8编码的本地字符文件。
>native2ascii -reverse -encoding utf-8 [ANSI编码文件,即ANSI本地字符] [UTF-8编码文件]
>native2ascii -reverse -encoding utf-8 [ANSI编码文件,即显示ANSI本地编码字符的十六进制字符] [UTF-8编码文件]

三、把utf编码的文件(显示本地字符),转成ANSI编码的文件。
两步走:
1.先转成ANSI编码的十六进制字符文件
native2ascii -encoding utf-8 [UTF-8编码文件] [ANSI编码文件,即显示ANSI本地编码字符的十六进制字符]
2.再转成ANSI编码的本地字符文件。
native2ascii -reverse [ANSI编码文件,即显示ANSI本地编码字符的十六进制字符] [ANSI编码文件,即ANSI本地字符]

四、如果是utf编码的文件,有本地字符的16进制的话,想转成ANSI编码的本地字符表示。
  用native2ascii的话是不行的.
  只能用记事本把文件编码类型另存为ANSI编码的16进制的文件,之后执行第一步.

这个太麻烦了,能不用时就不要用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值