首页 > 编程语言 >【JAVA】native2ascii命令详解

【JAVA】native2ascii命令详解

时间:2023-11-24 10:56:41浏览次数:27  
标签:编码 JAVA reverse encoding native2ascii 详解 Unicode txt

参考:

<https://blog.csdn.net/sinat_27933301/article/details/60358760>

<https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/127223542>

1、native2ascii简介:

native2ascii是sun java sdk提供的一个工具。用来将别的文本类文件(比如.txt,.ini,.properties,.java等等)编码转为Unicode编码。为什么要进行转码,原因在于程序的国际化。Unicode编码的定义:Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,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、最佳实践:

(1):将a.txt转换为Unicode编码,输出文件到b.txt
native2ascii a.txt b.txt

(2):将a.txt转换为Unicode编码,输出到控制台
native2ascii a.txt

(3):将a.txt转换为ISO8859-1编码,输出文件到b.txt
native2ascii -encoding ISO8859-1 a.txt b.txt

(4):将a.txt转换为本地编码,输出到文件b.txt
native2ascii -reverse a.txt b.txt

(5):将a.txt转换为本地编码,输出到控制台
native2ascii -reverse a.txt

(6):将a.txt转换为本地编码,输出到b.txt
native2ascii -reverse a.txt b.txt

(7):将a.txt转换为GBK编码,输出到b.txt
native2ascii -reverse -encoding GBK a.txt b.txt

(8):将a.txt转码到本地编码GBK,输出到控制台
C:/test>native2ascii -reverse -encoding ISO8859-1 b.txt
native2ascii -reverse命令中-encoding指定的编码为源文件的编码格式。而在native2ascii 命令中-encoding指定的编码为(生成的)目标文件的编码格式。这一点非常的重要!切记!!

(9)对于纯数字和字母的文本类型文件(只有ASCII码),转码前后的内容是一样的。

5、总结:
native2ascii是一个非常的好转码工具,并且转码是可逆的!而其真正的含义并非本地编码——>转码为ASCII码,而是一个通用的文本文件编码转换工具。在做编码转换的时候有两类指定编码的情形,分别指输出文件编码和输入文件编码,具体可以看看最佳实践部分。
————————————————
版权声明:本文为CSDN博主「程序员云帆哥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_27933301/article/details/60358760

标签:编码,JAVA,reverse,encoding,native2ascii,详解,Unicode,txt
From: https://www.cnblogs.com/lnsylt/p/17430719.html

相关文章

  • Spring Boot 3.2发布:大量Java 21的支持上线,改进可观测性
    就在今天凌晨,SpringBoot3.2正式发布了!该版本是在Java21正式发布之后的重要支持版本,所以在该版本中包含大量对Java21支持的优化。下面,我们分别通过Spring官方发布的博文和JoshLong长达80+分钟的介绍视频,一起认识一下SpringBoot3.2最新版本所带来的全新内容。官方博文:http......
  • java-EasyExcel模板导出
    前言: 需求:根据自定义模板导出Excel,包含图片、表格,采用EasyExcel 提示:EasyExcel请使用3.0以上版本,对图片操作最重要的类就是WriteCellData<Void>如果你的easyexcel没有这个类,说明你的版本太低,请升级到3.0以上<dependency><groupId>com.alibaba</groupId><ar......
  • java 实现断点续传的上传功能
    下面是一个简单的实现Java断点续传上传功能的代码示例,其中使用了HttpURLConnection和RandomAccessFile类:publicclassResumableUploader{privatestaticfinalintBUFFER_SIZE=4096;privatestaticfinalStringFILE_PATH="yourFilePath";privatestaticfi......
  • 详解vue大文件视频切片上传的处理方法
    前端上传大文件、视频的时候会出现超时、过大、很慢等情况,为了解决这一问题,跟后端配合做了一个切片的功能,接下来就详细的给大家介绍一下vue大文件视频切片上传的处理方法,需要的朋友可以参考下 前端上传大文件、视频的时候会出现超时、过大、很慢等情况,为了解决这一问题,跟后端......
  • 基于html5+javascript技术开发的房贷利率计算器,买房的码农们戳进来
    房贷计算器是一款专为购房者设计的实用工具应用,其主要功能是帮助用户详细计算房贷的还款金额、利息以及还款计划等。通过这款软件,用户可以更加便捷地了解到自己的还款情况和计划,从而更好地规划自己的财务。下面将对房贷计算器进行详细的介绍。体验地址房贷计算器体验地址关键代码<t......
  • Java中如何比较两个日期的大小
    日期比较1.自定义时间与当前时间比较代码展示 运行结果 2.两个自定义时间比较代码展示 运行结果 ......
  • java实现大文件的分片上传与下载(springboot+vue3)
    1.1项目背景对于超大文件上传我们可能遇到以下问题•大文件直接上传,占用过多内存,可能导致内存溢出甚至系统崩溃•受网络环境影响,可能导致传输中断,只能重新传输•传输时间长,用户无法知道传输进度,用户体验不佳1.2项目目标对于上述问题,我们需要对文件做分片传输。分片传输就是......
  • HTTP请求响应码详解 1XX/2XX/3XX/4XX/5XX
      转载自:https://blog.csdn.net/qq_43565087/article/details/124696787......
  • java中ArrayList和LinkedList的区别
    Java中ArrayList和LinkedList都是List集合的实现类,它们都可以用来存储一组有序的元素,但是它们的内部实现方式不同,在使用时也有不同的适用场景。ArrayList是一个基于动态数组的实现,它可以容纳任何类型的对象,并且允许对元素进行随机访问。当添加或者删除元素时,ArrayList需要移动内......
  • Java开发者的Python快速进修指南:面向对象基础
    当我深入学习了面向对象编程之后,我首先感受到的是代码编写的自由度大幅提升。不同于Java中严格的结构和约束,Python在面向对象的实现中展现出更加灵活和自由的特性。它使用了一些独特的关键字,如self和cls,这些不仅增强了代码的可读性,还提供了对类和实例的明确引用。正如Java,Python也......