博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
native2ascii的简单应用
阅读量:4128 次
发布时间:2019-05-25

本文共 2169 字,大约阅读时间需要 7 分钟。

native2ascii 是一个存在于jdk 的bin 目录下的native2ascii.exe文件,你得把bin目录整到你环境 变量path里。

   

Java代码
  1. 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代码  
  1. native2ascii a.txt   
native2ascii a.txt

  

     (备注:其实是  native2ascii -encoding Unicode a.txt   ,因为java默认是unicode编码,故略写了)

结果如下图1所示: 

                                    

                                                       图1:将中文转unicode

 

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

 
  

Java代码  
  1. native2ascii a.txt b.txt   
native2ascii a.txt b.txt

 

结果如下图2所示:

                                

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

 

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

   

Java代码  
  1. native2ascii -encoding ISO8859-1 a.txt iso.txt   
native2ascii -encoding ISO8859-1 a.txt iso.txt

 

    结果如下图3:

                          

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

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

     

            

 

 

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

 

    

Java代码  
  1. native2ascii -reverse b.txt  
native2ascii -reverse b.txt

 

结果:

      

                 

 

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

    

Java代码  
  1. native2ascii -reverse  -encoding ISO8859-1  iso.txt  
native2ascii -reverse -encoding ISO8859-1 iso.txt

结果:

  

 

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

      

Java代码  
  1. native2ascii -reverse  iso.txt    
native2ascii -reverse iso.txt

 我们将看到结果如下:

 
                   

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

 

 

总结:

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

        

Java代码  
  1. native2ascii -encoding encoding_name  inputfile   
native2ascii -encoding encoding_name inputfile

 

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

 

Java代码  
  1. 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 参数省去,以示简洁。

转载地址:http://yngpi.baihongyu.com/

你可能感兴趣的文章
49个在工作中常用且容易遗忘的CSS样式清单整理
查看>>
20种在学习编程的同时也可以在线赚钱的方法
查看>>
隐藏搜索框:CSS 动画正反向序列
查看>>
12 个JavaScript 特性技巧你可能从未使用过
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(上)
查看>>
【视频教程】Javascript ES6 教程27—ES6 构建一个Promise
查看>>
【5分钟代码练习】01—导航栏鼠标悬停效果的实现
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(中)
查看>>
8种ES6中扩展运算符的用法
查看>>
【视频教程】Javascript ES6 教程28—ES6 Promise 实例应用
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(下)
查看>>
【web素材】03-24款后台管理系统网站模板
查看>>
Flex 布局教程:语法篇
查看>>
年薪50万+的90后程序员都经历了什么?
查看>>
2019年哪些外快收入可达到2万以上?
查看>>
【JavaScript 教程】标准库—Date 对象
查看>>
前阿里手淘前端负责人@winter:前端人如何保持竞争力?
查看>>
【JavaScript 教程】面向对象编程——实例对象与 new 命令
查看>>
我在网易做了6年前端,想给求职者4条建议
查看>>
SQL1015N The database is in an inconsistent state. SQLSTATE=55025
查看>>