简介:

native2ascii.exe 是 Java 的一个文件转码工具,是将特殊各异的内容 转为 用指定的编码标准文体形式统一的表现出来,它通常位于 JDK_home\bin 目录下,安装好 Java SE 后,可在使用 native2ascii 命令进行转码。

一般情况下我们进行 中文字符和Unicode 之间的转换。

工具箱:

这里有个在线转换

native2ascii的命令行的命名格式:

native2ascii -[options] [inputfile [outputfile]]

说明:

-[options]:表示命令开关,有两个选项可供选择

reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。

encoding encoding_name:转换为指定编码,encoding_name为编码名称。

-[inputfile [outputfile]]

inputfile:表示输入文件全名。

outputfile:输出文件名。如果缺少此参数,将输出到控制台。

最佳实践:

首先将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

结果还是没有转码。

从结果可以得出结论:对于纯数字和字母的文本类型件,转码前后的内容是一样的。

总结:

native2ascii是一个非常的好转码工具,并且转码是可逆的!而其真正的含义并非本地编码——>转码为ASCII码,而是一个通用的文本文件编码转换工具。在做编码转换的时候有两类指定编码的情形,分别指输出文件编码和输入文件编码,具体可以看看最佳实践部分。

有时间重新整理下:TODO

java编码native2ascii下载_使用native2ascii 中文字符与Unicode编码相互转换相关推荐

  1. 查阅中文字符的Unicode编码

    jshell> Integer.toHexString('中')//返回一个中文字符的Unicode编码 $28 ==> "4e2d" jshell> '\u4e ...

  2. 网页编码与数据传递中的中文字符编码

    最近工作中遇到中文编码,中文参数传递,AJAX返回值包含中文乱码的问题,为此奋斗了一宿,有点心得,有点体会,总结如下,希望对迷惑于此中者有解惑之功效! 在网上一阵狠搜,编码函数的确是有,包括Javas ...

  3. morse java_GitHub - TakWolf/Java-MorseCoder: 摩尔斯电码翻译器的一个 Java 语言实现。使用了非标准方式支持 Unicode 编码。...

    Java - MorseCoder A Java implementation for Morse Code translation. Use non-standard way to support ...

  4. CSS中常用中文字体的Unicode编码

    常用中文字体的Unicode编码: 新细明体 PMingLiU \65B0\7EC6\660E\4F53 细明体 MingLiU \7EC6\660E\4F53 标楷体 DFKai-SB \6807\ ...

  5. java 中文字符和unicode编码值相互转化

    java 中文字符和unicode编码值相互转化 https://blog.csdn.net/u011366045/article/details/79235217 版权声明:本文为博主原创文章,未经 ...

  6. django JsonResponse返回中文时显示unicode编码(\u67e5\u8be2)

    django JsonResponse返回中文时显示unicode编码(\u67e5\u8be2) 关注公众号"轻松学编程"了解更多. 原因 这个unicode编码,是python ...

  7. Css中常用中文字体的Unicode编码对照

    Css中常用中文字体的Unicode编码对照 在网页制作中,最常用的恐怕是字体属性了,在调整页面兼容的时候,也常常发现字体名称的原因导致不兼容或乱码,下面给出几种常用字体的ucicode编码对照,方便 ...

  8. 本表收录的字符的Unicode编码范围为19968至40869

    本表收录的字符的Unicode编码范围为19968至40869, 由XDesigner 整理,此处引用,为了js的通讯录效果,请大家粘贴复制即可 //函数使用,本表收录的字符的Unicode编码范围为 ...

  9. java excel 导出 下载_使用Java导出Excel表格并由浏览器直接下载

    声明:本文是基于其他博主的文章,自己再稍微改了一点[公共类+业务类],感谢那个博主 参考地址:https://blog.csdn.net/wzy18210825916/article/details/ ...

  10. java ee4.8下载_在WildFly 8.2中修补焊接3 – Java EE 8的第一个实验RI

    java ee4.8下载 Java EE 8一直在发展,并且已经提出了几个新的组件JSR. JSR 365将定义CDI 2.0的规范. 红帽已经开始开发Weld 3的实现原型, Alpha3最近发布了 ...

最新文章

  1. 这些deep learning(rnn、cnn)调参的经验值得分享
  2. 参考文献中的字母含义
  3. 中国科学院大学庆生 一颗小行星以“国科大”命名
  4. 机器学习算法 随机森林学习 之决策树
  5. session演练1909051059
  6. 以太坊2.0客户端Prysm缺陷导致信标链节点共损失15ETH,即将发布更新
  7. 从MFC与ATL的男女关系说起
  8. 《演讲之禅》迷你书免费下载 每小时30000美元的秘诀
  9. 暴力/set Codeforces Round #291 (Div. 2) C. Watto and Mechanism
  10. php mysql sum用法_mysql怎么使用sum()求id字段的和?
  11. oracle 下载 地址,oracle11g下载地址
  12. 板绘新手入门sai绘画软件有哪些技巧?
  13. 沉默内向的计算机保研er在保研面试中会吃亏吗?
  14. linux——CPU使用率、内存使用率、磁盘使用率等详解
  15. gnss_伽利略gnss消息认证过程
  16. Python 的turtle模块讲座
  17. (Python)sum函数的用法
  18. Linux系统的介绍及安装
  19. 教你一招如何快速生成微信小程序
  20. subprocess模块详解

热门文章

  1. 最常用的前端网站模板集合
  2. 三角网导线平差实例_三角网闭合导线计算()
  3. 通过poi读取ppt元素demo
  4. 系统蓝屏日志DMP文件分析工具WinDbg及教程
  5. JAVA之stream汪文君_Java8新特性之Stream API
  6. Nexus下载安装及对接
  7. 如何写好项目会议纪要?
  8. OOP编程思想(面对对象编程)
  9. js读取服务器json文件,原生js读取json文件
  10. Python爬虫之JS逆向分析技巧