java中a转换成b_java 编码转换工具 native2ascii (中文与Unicode等互转)使用小结

native2ascii 当然就是一个存在与jdk 的bin

目录下的native2ascii.exe文件了,你得把bin目录整到你环境 变量path里去,这不扯淡了,直奔主题:

Java代码

native2ascii [options] [inputfile [outputfile]]

native2ascii [options] [inputfile [outputfile]]

查官方api文档,命令如下:

官方对参数的解释也清晰简单,这里就不贴原文了,用自己语言描述下:

首先,[oprions],有如下两个命令可以选择:

“-reverse”

: 将Latin-1或者Unicode编码转换为本地代码。(就是形如: \u4f60\u597d

-->你好)

“-encoding

encoding_name”:将本地编码转换为Latin-1或Unicode编码,如: -encoding gbk

(就是: 你好--》\u4f60\u597d),当然也可跟-reverse命令配合使用,

来指定-reverse 的源文件编码方式。后面具体描述。

其次,[inputfile [outputfile]]

inputfile, 你懂地,输入文件。如果没有输入文件,你在控制台输入点字符串也可以。

outputfile,你更懂,输出文件嘛。如果不输的话,它会给你在控制台打出结果。

最后,啥也不说了,来点实际的:

1、将一个全是中文的文本文件 a.txt (内容为:“你好!” ,你可以用其他格式的文件) 转为 Unicode:

Java代码 a4c26d1e5885305701be709a3d33442f.png a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

native2ascii a.txt

native2ascii a.txt

(备注:其实是 native2ascii -encoding Unicode

a.txt ,因为java默认是unicode编码,故略写了)

结果如下图1所示:

a4c26d1e5885305701be709a3d33442f.png

图1:将中文转unicode

2、将中文文件a.txt 转换成Unicode编码后,输出到目标文件b.txt中:

Java代码 a4c26d1e5885305701be709a3d33442f.png a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

native2ascii a.txt b.txt

native2ascii a.txt b.txt

结果如下图2所示:

a4c26d1e5885305701be709a3d33442f.png

图2:将文件转换为unicode后输出到目标文件

3、将中文文件转换为其他编码,如通用的 iso8859-1,输出到iso.txt :

Java代码 a4c26d1e5885305701be709a3d33442f.png a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

native2ascii -encoding ISO8859-1a.txt iso.txt

native2ascii -encoding ISO8859-1 a.txt iso.txt

结果如下图3:

a4c26d1e5885305701be709a3d33442f.png

图3:将中文文件转换为iso8859-1格式

同理,你可以转换为gbk,utf-8等,但在这里的编码必须是支持的编码,了解更多支持的编码请查阅官方文档:

4、使用-reverse命令,将Unicode编码逆转为本地编码,输出在控制台:

Java代码 a4c26d1e5885305701be709a3d33442f.png a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

native2ascii -reverse b.txt

native2ascii -reverse b.txt

结果:

a4c26d1e5885305701be709a3d33442f.png

5、使用-reverse -encoding encoding_name 将其他形式编码转换为本地编码

Java代码 a4c26d1e5885305701be709a3d33442f.png a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

native2ascii -reverse -encoding ISO8859-1iso.txt

native2ascii -reverse -encoding ISO8859-1 iso.txt

结果:

a4c26d1e5885305701be709a3d33442f.png

说明: 因为我们在3中使用了-encoding命令来指定输出文件的编码为iso8859-1,就不再是系统默认的Unicode编码了,所以,在要把它转换为本地编码时,需要给它赋编码。如果不给他赋-encoding命令,而直接使用如下命令:

Java代码 a4c26d1e5885305701be709a3d33442f.png a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

native2ascii -reverse iso.txt

native2ascii -reverse iso.txt

我们将看到结果如下:

 a4c26d1e5885305701be709a3d33442f.png

跟输入文件iso.txt里面的内容一样,没有转换过来。

总结:

要将一个本地编码文件转换为其他格式编码,(形如: 你好 --->\u4f60\u597d )采用

Java代码 a4c26d1e5885305701be709a3d33442f.png a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

native2ascii -encoding encoding_name inputfile

native2ascii -encoding encoding_name inputfile

要将其他编码格式的文件转换为本地编码,( 形如:\u4f60\u597d

-->你好)采用:

Java代码 a4c26d1e5885305701be709a3d33442f.png a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

native2ascii -reverse -encoding encoding_name inputfile

native2ascii -reverse -encoding encoding_name inputfile

因为 java 默认是Unicode编码,

故“ native2ascii inputfile” 命令等价于“ native2ascii

-encoding Unicode

inputfile”,

" native2ascii

-reverse inputfile " 等价于

native2ascii -reverse -encoding

Unicode inputfile

所以,平时在使用中如果默认的话,都把 -encoding encoding_name 参数省去,以示简洁。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值