native2ascii 変換ツールの使い方

native2ascii とは ACSII コードを別の文字コードへ変換する変換ツールであり、JDK (Java Development Kit) に含まれていた。 Java 8 までは日本語を含むプロパティファイルを読み込めなかったため、Unicode で書かれたプロパティファイルを Unicode エスケープ (\uXXXX) 形式の ASCII コードファイルへ変換する必要があった。 Java 9 からは Unicode のプロパティファイルを直接読み込めるようになったため、JDK に含まれていない。

コマンド

引数を省略した場合は、標準入力から読み込み、標準出力へ出力する。

native2ascii

入力ファイルを引数に指定する。

native2ascii input

入力ファイルと出力ファイルを引数に指定する。

native2ascii input output

次に示す引数を native2ascii 変換ツールに指定できる。

input
入力ファイルを指定する。入力ファイルの指定を省略した場合、native2ascii は標準入力から入力する。
output
出力ファイルを指定する。出力ファイルの指定を省略した場合、native2ascii は標準出力へ出力する。

次に示すオプションを native2ascii 変換ツールに指定できる。

-reverse
Unicode エスケープシーケンス形式からネイティブコードに変換する。
-encoding name
変換処理で使用される文字エンコーディングの名前を指定する。
-Joption
Java仮想マシンへ渡すオプションを指定する。

使い方

標準入力から入力されたデータをUnicodeエスケープシーケンス形式に変換して標準出力へ出力する。

C:\> native2ascii
あ
\u3042

Java 9 から native2ascii は不要になった

Java 8 までは native2ascii 変換ツールでプロパティファイルを UTF-8 へ変換する必要があった。

Java 9 からプロパティファイルに UTF-8 が使用できるようになった。このため、Java 9 以降の JDK には native2ascii 変換ツールが含まれないようになった。

ASCII と ISO-8859-1 の違い

説明の都合上 ASCII コード(7ビット)としたが、厳密には native2ascii が変換するコードは ISO 8859-1(8ビット)である。それぞれの違いを次に示す。

ASCII と ISO-8859-1 の違い
コードASCIIISO-8859-1
00 NUL (null) 未使用
01 SOH (start of heading) 未使用
02 STX (start of tex) 未使用
03 ETX (end of text) 未使用
04 EOT (end of transmission) 未使用
05 ENQ (enquiry) 未使用
06 ACK (acknowledge) 未使用
07 BEL (bell) 未使用
08 BS (backspace) 未使用
09 TAB (horizontal tab) 未使用
0A LF (line feed) 未使用
0B VT (vertical tab) 未使用
0C FF (form feed) 未使用
0D CR (carriage return) 未使用
0E SO (shift out) 未使用
0F SI (shift in) 未使用
10 DLE (data link escape) 未使用
11 DC1 (device control 1) 未使用
12 DC2 (device control 2) 未使用
13 DC3 (device control 3) 未使用
14 DC4 (device control 4) 未使用
15 NAK (negative acknowledge) 未使用
16 SYN (synchronous idle) 未使用
17 ETB (end of transmission block) 未使用
18 CAN (cancel) 未使用
19 EM (end of medium) 未使用
1A SUB (substitute) 未使用
1B ESC (escape) 未使用
1C FS (file separator) 未使用
1D GS (group separator) 未使用
1E RS (record separator) 未使用
1F US (unit separator) 未使用
20 空白 空白
21 ! !
22 " "
23 # #
24 $ $
25 % %
26 & &
27 ' '
28 ( (
29 ) )
2A * *
2B + +
2C , ,
2D - -
2E . .
2F / /
30 0 0
31 1 1
32 2 2
33 3 3
34 4 4
35 5 5
36 6 6
37 7 7
38 8 8
39 9 9
3A : :
3B ; ;
3C < <
3D = =
3E > >
3F ? ?
40 @ @
41 A A
42 B B
43 C C
44 D D
45 E E
46 F F
47 G G
48 H H
49 I I
4A J J
4B K K
4C L L
4D M M
4E N N
4F O O
50 P P
51 Q Q
52 R R
53 S S
54 T T
55 U U
56 VV
57 WW
58 XX
59 YY
5A ZZ
5B [[
5C \\
5D ]]
5E ^^
5F __
60 ``
61 aa
62 bb
63 cc
64 dd
65 ee
66 ff
67 gg
68 hh
69 ii
6A jj
6B kk
6C ll
6D mm
6E nn
6F oo
70 pp
71 qq
72 rr
73 ss
74 tt
75 uu
76 vv
77 ww
78 xx
79 yy
7A zz
7B {{
7C ||
7D }}
7E ~~
7F DEL (delete) 未使用
80コード範囲外未使用
81コード範囲外未使用
82コード範囲外未使用
83コード範囲外未使用
84コード範囲外未使用
85コード範囲外未使用
86コード範囲外未使用
87コード範囲外未使用
88コード範囲外未使用
89コード範囲外未使用
8Aコード範囲外未使用
8Bコード範囲外未使用
8Cコード範囲外未使用
8Dコード範囲外未使用
8Eコード範囲外未使用
8Fコード範囲外未使用
90コード範囲外未使用
91コード範囲外未使用
92コード範囲外未使用
93コード範囲外未使用
94コード範囲外未使用
95コード範囲外未使用
96コード範囲外未使用
97コード範囲外未使用
98コード範囲外未使用
99コード範囲外未使用
9Aコード範囲外未使用
9Bコード範囲外未使用
9Cコード範囲外未使用
9Dコード範囲外未使用
9Eコード範囲外未使用
9Fコード範囲外未使用
A0コード範囲外NBSP (Non-breaking space)
A1コード範囲外¡
A2コード範囲外¢
A3コード範囲外£
A4コード範囲外¤
A5コード範囲外¥
A6コード範囲外¦
A7コード範囲外§
A8コード範囲外¨
A9コード範囲外©
AAコード範囲外ª
ABコード範囲外«
ACコード範囲外¬
ADコード範囲外SHY (Soft hyphen)
AEコード範囲外®
AFコード範囲外¯
B0コード範囲外°
B1コード範囲外±
B2コード範囲外²
B3コード範囲外³
B4コード範囲外´
B5コード範囲外µ
B6コード範囲外
B7コード範囲外·
B8コード範囲外¸
B9コード範囲外¹
BAコード範囲外º
BBコード範囲外»
BCコード範囲外¼
BDコード範囲外½
BEコード範囲外¾
BFコード範囲外¿
C0コード範囲外À
C1コード範囲外Á
C2コード範囲外Â
C3コード範囲外Ã
C4コード範囲外Ä
C5コード範囲外Å
C6コード範囲外Æ
C7コード範囲外Ç
C8コード範囲外È
C9コード範囲外É
CAコード範囲外Ê
CBコード範囲外Ë
CCコード範囲外Ì
CDコード範囲外Í
CEコード範囲外Î
CDコード範囲外Ï
D0コード範囲外Ð
D1コード範囲外Ñ
D2コード範囲外Ò
D3コード範囲外Ó
D4コード範囲外Ô
D5コード範囲外Õ
D6コード範囲外Ö
D7コード範囲外×
D8コード範囲外Ø
D9コード範囲外Ù
DAコード範囲外Ú
DBコード範囲外Û
DCコード範囲外Ü
DDコード範囲外Ý
DEコード範囲外Þ
DFコード範囲外ß
E0コード範囲外à
E1コード範囲外á
E2コード範囲外â
E3コード範囲外ã
E4コード範囲外ä
E5コード範囲外å
E6コード範囲外æ
E7コード範囲外ç
E8コード範囲外è
E9コード範囲外é
EAコード範囲外ê
EBコード範囲外ë
ECコード範囲外ì
EDコード範囲外í
EEコード範囲外î
EFコード範囲外ï
F0コード範囲外ð
F1コード範囲外ñ
F2コード範囲外ò
F3コード範囲外ó
F4コード範囲外ô
F5コード範囲外õ
F6コード範囲外ö
F7コード範囲外÷
F8コード範囲外ø
F9コード範囲外ù
FAコード範囲外ú
FBコード範囲外û
FCコード範囲外ü
FDコード範囲外ý
FEコード範囲外þ
FFコード範囲外ÿ
コードASCIIISO-8859-1

参考文献

Oracle (2021) native2ascii

Oracle (2021) Supported Encodings