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 コードとしたが、厳密には native2ascii が変換するコードは ISO 8859-1 である。それぞれの違いを次に示す。

ASCII と ISO-8859-1 の違い
コードASCIIISO-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
A0NBSP (Non-breaking space)
A1¡
A2¢
A3£
A4¤
A5¥
A6¦
A7§
A8¨
A9©
AAª
AB«
AC¬
ADSHY (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ÿ

空欄は未使用である。

参考文献

Oracle (2021) native2ascii

Oracle (2021) Supported Encodings