日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java native2ascii的用法介绍

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java native2ascii的用法介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
將非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”??纯醇冏帜笖底值木幋a又如何。
? 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碼,而是一個通用的文本文件編碼轉換工具。在做編碼轉換的時候有兩類指定編碼的情形,分別指輸出文件編碼和輸入文件編碼,具體可以看看最佳實踐部分。
? 聲明:原創作品,未經授權,拒絕轉載!

總結

以上是生活随笔為你收集整理的java native2ascii的用法介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。