首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java native2ascii的用法介绍

java native2ascii的用法介绍

作者头像
全栈程序员站长
发布于 2022-10-02 09:29:50
发布于 2022-10-02 09:29:50
8050
举报

大家好,又见面了,我是你们的朋友全栈君。

将非Unicode编码字符转化为Unicode编码的字符,即国际化。

语法:native2ascii [options] [inputfile [outputfile]]

描述:如果outputfile没有指定,标准输出将用于结果输出;如果inputfile没有指定,标准输入设备将用于输入。

参数 -reverse 使用该参数将Unicode编码字符转换为本地编码字符

-encoding encoding_name 用于指定转化时使用的字符编码。默认编码从系统属性file.encoding获取。后面的表格式字符编码,指定encoding_name使用表格第一栏。

-Joption 该参数一般无需使用,用于指定Java虚拟机的启动参数。例如:-J-Xms48m设置虚拟机启动时分配内存为48M 。

Example1: native2ascii test.txt test_unicode.txt

test.txt文件内容:native2ascii测试

test_unicode.txt文件内容:native2asciiu6d4bu8bd5

Example2: native2ascii test_unicode.txt test_gbk.txt -reverse

test_gbk.txt内容:native2ascii测试

Basic Encoding Set (contained in lib/rt.jar) Supported by java.nio, java.io and java.lang APIs

Canonical Name for java.nio API

Canonical Name for java.io and java.lang API

Description

US-ASCII

ASCII

American Standard Code for Information Interchange

windows-1250

Cp1250

Windows Eastern European

windows-1251

Cp1251

Windows Cyrillic

windows-1252

Cp1252

Windows Latin-1

windows-1253

Cp1253

Windows Greek

windows-1254

Cp1254

Windows Turkish

windows-1257

Cp1257

Windows Baltic

ISO-8859-1

ISO8859_1

ISO 8859-1, Latin Alphabet No. 1

ISO-8859-2

ISO8859_2

Latin Alphabet No. 2

ISO-8859-4

ISO8859_4

Latin Alphabet No. 4

ISO-8859-5

ISO8859_5

Latin/Cyrillic Alphabet

ISO-8859-7

ISO8859_7

Latin/Greek Alphabet

ISO-8859-9

ISO8859_9

Latin Alphabet No. 5

ISO-8859-13

ISO8859_13

Latin Alphabet No. 7

ISO-8859-15

ISO8859_15

Latin Alphabet No. 9

KOI8-R

KOI8_R

KOI8-R, Russian

UTF-8

UTF8

Eight-bit UCS Transformation Format

UTF-16

UTF-16

Sixteen-bit UCS Transformation Format, byte order identified by an optional byte-order mark

UTF-16BE

UnicodeBigUnmarked

Sixteen-bit Unicode Transformation Format, big-endian byte order

UTF-16LE

UnicodeLittleUnmarked

Sixteen-bit Unicode Transformation Format, little-endian byte order

Not available

UnicodeBig

Sixteen-bit Unicode Transformation Format, big-endian byte order, with byte-order mark

Not available

UnicodeLittle

Sixteen-bit Unicode Transformation Format, little-endian byte order, with byte-order mark

Extended Encoding Set (contained in lib/charsets.jar) Supported by java.nio, java.io and java.lang APIs

Canonical Name for java.nio API

Canonical Name for java.io and java.lang API

Description

windows-1255

Cp1255

Windows Hebrew

windows-1256

Cp1256

Windows Arabic

windows-1258

Cp1258

Windows Vietnamese

ISO-8859-3

ISO8859_3

Latin Alphabet No. 3

ISO-8859-6

ISO8859_6

Latin/Arabic Alphabet

ISO-8859-8

ISO8859_8

Latin/Hebrew Alphabet

windows-31j

MS932

Windows Japanese

EUC-JP

EUC_JP

JISX 0201, 0208 and 0212, EUC encoding Japanese

x-EUC-JP-Linux

EUC_JP_LINUX

JISX 0201, 0208 , EUC encoding Japanese

Shift_JIS

SJIS

Shift-JIS, Japanese

ISO-2022-JP

ISO2022JP

JIS X 0201, 0208, in ISO 2022 form, Japanese

x-mswin-936

MS936

Windows Simplified Chinese

GB18030

GB18030

Simplified Chinese, PRC standard

x-EUC-CN

EUC_CN

GB2312, EUC encoding, Simplified Chinese

GBK

GBK

GBK, Simplified Chinese

ISCII91

ISCII91

ISCII91 encoding of Indic scripts

x-windows-949

MS949

Windows Korean

EUC-KR

EUC_KR

KS C 5601, EUC encoding, Korean

ISO-2022-KR

ISO2022KR

ISO 2022 KR, Korean

x-windows-950

MS950

Windows Traditional Chinese

x-MS950-HKSCS

MS950_HKSCS

Windows Traditional Chinese with Hong Kong extensions

x-EUC-TW

EUC_TW

CNS11643 (Plane 1-3), EUC encoding, Traditional Chinese

Big5

Big5

Big5, Traditional Chinese

Big5-HKSCS

Big5_HKSCS

Big5 with Hong Kong extensions, Traditional Chinese

TIS-620

TIS620

TIS620, Thai

Extended Encoding Set (contained in lib/charsets.jar) Supported by java.io and java.lang APIs

Canonical Name

Description

Big5_Solaris

Big5 with seven additional Hanzi ideograph character mappings for the Solaris zh_TW.BIG5 locale

Cp037

USA, Canada (Bilingual, French), Netherlands, Portugal, Brazil, Australia

Cp273

IBM Austria, Germany

Cp277

IBM Denmark, Norway

Cp278

IBM Finland, Sweden

Cp280

IBM Italy

Cp284

IBM Catalan/Spain, Spanish Latin America

Cp285

IBM United Kingdom, Ireland

Cp297

IBM France

Cp420

IBM Arabic

Cp424

IBM Hebrew

Cp437

MS-DOS United States, Australia, New Zealand, South Africa

Cp500

EBCDIC 500V1

Cp737

PC Greek

Cp775

PC Baltic

Cp838

IBM Thailand extended SBCS

Cp850

MS-DOS Latin-1

Cp852

MS-DOS Latin-2

Cp855

IBM Cyrillic

Cp856

IBM Hebrew

Cp857

IBM Turkish

Cp858

Variant of Cp850 with Euro character

Cp860

MS-DOS Portuguese

Cp861

MS-DOS Icelandic

Cp862

PC Hebrew

Cp863

MS-DOS Canadian French

Cp864

PC Arabic

Cp865

MS-DOS Nordic

Cp866

MS-DOS Russian

Cp868

MS-DOS Pakistan

Cp869

IBM Modern Greek

Cp870

IBM Multilingual Latin-2

Cp871

IBM Iceland

Cp874

IBM Thai

Cp875

IBM Greek

Cp918

IBM Pakistan (Urdu)

Cp921

IBM Latvia, Lithuania (AIX, DOS)

Cp922

IBM Estonia (AIX, DOS)

Cp930

Japanese Katakana-Kanji mixed with 4370 UDC, superset of 5026

Cp933

Korean Mixed with 1880 UDC, superset of 5029

Cp935

Simplified Chinese Host mixed with 1880 UDC, superset of 5031

Cp937

Traditional Chinese Host miexed with 6204 UDC, superset of 5033

Cp939

Japanese Latin Kanji mixed with 4370 UDC, superset of 5035

Cp942

IBM OS/2 Japanese, superset of Cp932

Cp942C

Variant of Cp942

Cp943

IBM OS/2 Japanese, superset of Cp932 and Shift-JIS

Cp943C

Variant of Cp943

Cp948

OS/2 Chinese (Taiwan) superset of 938

Cp949

PC Korean

Cp949C

Variant of Cp949

Cp950

PC Chinese (Hong Kong, Taiwan)

Cp964

AIX Chinese (Taiwan)

Cp970

AIX Korean

Cp1006

IBM AIX Pakistan (Urdu)

Cp1025

IBM Multilingual Cyrillic: Bulgaria, Bosnia, Herzegovinia, Macedonia (FYR)

Cp1026

IBM Latin-5, Turkey

Cp1046

IBM Arabic – Windows

Cp1097

IBM Iran (Farsi)/Persian

Cp1098

IBM Iran (Farsi)/Persian (PC)

Cp1112

IBM Latvia, Lithuania

Cp1122

IBM Estonia

Cp1123

IBM Ukraine

Cp1124

IBM AIX Ukraine

Cp1140

Variant of Cp037 with Euro character

Cp1141

Variant of Cp273 with Euro character

Cp1142

Variant of Cp277 with Euro character

Cp1143

Variant of Cp278 with Euro character

Cp1144

Variant of Cp280 with Euro character

Cp1145

Variant of Cp284 with Euro character

Cp1146

Variant of Cp285 with Euro character

Cp1147

Variant of Cp297 with Euro character

Cp1148

Variant of Cp500 with Euro character

Cp1149

Variant of Cp871 with Euro character

Cp1381

IBM OS/2, DOS People’s Republic of China (PRC)

Cp1383

IBM AIX People’s Republic of China (PRC)

Cp33722

IBM-eucJP – Japanese (superset of 5050)

ISO2022_CN_CNS

CNS11643 in ISO 2022 CN form, Traditional Chinese (conversion from Unicode only)

ISO2022_CN_GB

GB2312 in ISO 2022 CN form, Simplified Chinese (conversion from Unicode only)

JISAutoDetect

Detects and converts from Shift-JIS, EUC-JP, ISO 2022 JP (conversion to Unicode only)

MS874

Windows Thai

MacArabic

Macintosh Arabic

MacCentralEurope

Macintosh Latin-2

MacCroatian

Macintosh Croatian

MacCyrillic

Macintosh Cyrillic

MacDingbat

Macintosh Dingbat

MacGreek

Macintosh Greek

MacHebrew

Macintosh Hebrew

MacIceland

Macintosh Iceland

MacRoman

Macintosh Roman

MacRomania

Macintosh Romania

MacSymbol

Macintosh Symbol

MacThai

Macintosh Thai

MacTurkish

Macintosh Turkish

MacUkraine

Macintosh Ukraine

JDK自带的native2ascii工具完全揭密

作者:熔岩 日期:2006-12-19 MSN : leizhimin@126.com

背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为java正确识别的编码问题就解决了。

1、native2ascii简介:native2ascii是sun java sdk提供的一个工具。用来将别的文本类文件(比如*.txt,*.ini,*.properties,*.java等等)编码转为Unicode编码。为什么要进行转码,原因在于程序的国际化。Unicode编码的定义:Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。(声明: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、最佳实践:首先将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 结果还是没有转码。 从结果可以得出结论:对于纯数字和字母的文本类型件,转码前后的内容是一样的。

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

声明:原创作品,未经授权,拒绝转载!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/197819.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月3日 上,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
native2ascii用法
背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为java正确识别的编码问题就解决了。
全栈程序员站长
2022/10/01
6020
java 命令 native2ascii_java native2ascii.exe命令
native2ascii.exe的语法格式:native2ascii [-reverse] [-encoding 编码] [输入文件 [输出文件]]
全栈程序员站长
2022/10/01
3730
mysql中的字符集和校验规则
在MySQL中,最常见的字符集有ASCII字符集、latin字符集、GB2312字符集、GBK字符集、UTF8字符集等,下面我们简单介绍下这些字符集:
AsiaYe
2019/11/06
2.5K0
mysql中的字符集和校验规则
native2ascii命令详解
1、native2ascii简介: native2ascii是sun java sdk提供的一个工具。用来将别的文本类文件(比如.txt,.ini,.properties,.java等等)编码转为Unicode编码。为什么要进行转码,原因在于程序的国际化。Unicode编码的定义:Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。 2、获取native2ascii: 安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录,其中native2ascii.exe正是。
程序员云帆哥
2022/05/12
4110
设置程序运行时的字符编码
  关于可设置的编码可参考(windows平台): https://docs.microsoft.com/zh-cn/windows/win32/Intl/code-page-identifiers
Qt君
2020/02/27
1.5K0
native2ascii命令_native method
native2ascii 是一个关于转码的不错的命令.使用条件简单,只要安装了jdk之后,在cmd窗口就可以使用该命令对文件进行转码,而且转码过程是可逆的.安装路径下bin目录下,有一个native2ascii 批处理文件也可以完成转码.
全栈程序员站长
2022/10/01
3930
linux之iconv命令
iconv -f encoding [-t encoding] [inputfile]...
入门笔记
2021/09/14
1.6K0
java properties native2ascii_使用native2ascii针对中文乱码,进行转码操作,用于native2ascii处理properties文件…
native2ascii是sun java sdk提供的一个转码工具, 用来将别的文本类文件(比如 *.txt, *.ini, *.properties, *.java 等等)编码转为Unicode编码。
全栈程序员站长
2022/10/01
6150
java properties native2ascii_使用native2ascii针对中文乱码,进行转码操作,用于native2ascii处理properties文件…
java文件转码工具-native2ascii.exe命令简介
java的转码工具,需要java.dll动态库和相关程序才能执行。native2ascii.exe 是 Java 的一个文件转码工具,是将特殊各异的内容 转为 用指定的编码标准文体形式统一的表现出来,它通常位于 JDK_home\bin 目录下,安装好 Java SE 后,可在命令行直接使用 native2ascii 命令进行转码。JDK自带的工具native2ascii可以将uncode编码的文件转换为本地编码的文件,但是不能批量转换文件。
全栈程序员站长
2022/10/02
6550
MySQL中的字符集和校对学习--MySql语法
MySQL服务器能够支持多种字符集。可以使用SHOW CHARACTER SET语句列出可用的字符集:
用户1289394
2021/07/30
8980
native2ascii.exe使用方式
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
奋飛
2019/08/15
9160
native/ascii在线转换工具_中文转ascii
Property文件中,使用的编码根据机器的设置可能是GBK或者UTF-8。而在Java中读取Property文件时使用的是Unicode编码,编码方式不同会导致中文乱码,因此需要将Property文件中的中文字符转化成Unicode编码才能正常显示中文。
全栈程序员站长
2022/10/01
2.5K0
native ascii_编码转换在线
大家好,又见面了,我是你们的朋友全栈君。 1、获取native2ascii:安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录,其中native2ascii.exe正是。
全栈程序员站长
2022/10/01
1.7K0
真棒!彻底解决了一直困扰的编码问题
在批量处理文件(后缀包括 ".csv"、".xlsx"、".xls"的文件)时,可能会出现同一个文件夹内同时存在不同编码的文件;亦或非"utf-8"格式的其他格式,即便相同格式也会出现有些文件能打开,而有些文件不能打开。
数据STUDIO
2021/06/24
1.3K0
>> 技术应用:MySQL - 字符编码表
在MySQL中,字符集的概念和编码方案被看做是同义词,一个字符集是一个转换表和一个编码方案的组合。
艾特
2023/10/10
3280
关于GreatSQL字符集的总结
最近的SQL优化工作中经常遇到因字符集或校验规则不一致导致索引使用不了的问题,修改表的字符集或校验规则相当于把表重构,表中数据量大时,处理起来费时费力,希望应用开发者在设计之初时注意到此问题,让后期接手运维的小伙伴少一些负担。GreatSQL的字符集和校验规则种类繁多,提供灵活性的同时,也带来使用混乱的烦恼。本文对字符集做一个总结,让读者对GreatSQL的字符集有一个全面的了解。
GreatSQL社区
2023/12/20
2320
关于GreatSQL字符集的总结
MySQL的字符集和乱码问题
#字符编码:就是人类使用的英文字母、汉字、特殊符号等信息,通过转换规则,将其转换为计算机可以识别的二进制数字的一种编码方式
老油条IT记
2020/03/20
2.3K0
Linux下Mysql数据库的基础操作
Mysql数据库是一种关系型数据库管理系统,具有的优点有体积小、速度快、总体成本低,开源,可移植性(跨平台,在不同系统中使用),可以和开发语结合,属于轻量级数据库。
江湖有缘
2023/11/11
4280
MySQL常用show命令使用总结
MySQL中有很多的基本命令,show命令也是其中之一,在很多使用者中对show命令的使用还容易产生混淆,本文汇集了show命令的众多用法。show命令可以提供关于数据库、表、列,或关于服务器的状态信息。
星哥玩云
2022/08/18
1.3K0
java编码native2ascii下载_native2ascii.exe
native2ascii.exe是一款好用的转码工具,主要用于字符转码和反转码,在Java开发过程中总会出现一些乱码问题或者无法正确识别读取的问题,这时候就需要进行转码,可对属性文件和其他字符编码进行转换,从而解决上述问题。需要的Java开发人员可下载!
全栈程序员站长
2022/10/01
7290
java编码native2ascii下载_native2ascii.exe
相关推荐
native2ascii用法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档