native2ascii とは ACSII コードを別の文字コードへ変換する変換ツールであり、JDK (Java Development Kit) に含まれていた。 Java 8 までは日本語を含むプロパティファイルを読み込めなかったため、Unicode で書かれたプロパティファイルを Unicode エスケープ (\uXXXX) 形式の ASCII コードファイルへ変換する必要があった。 Java 9 からは Unicode のプロパティファイルを直接読み込めるようになったため、JDK に含まれていない。
引数を省略した場合は、標準入力から読み込み、標準出力へ出力する。
native2ascii
入力ファイルを引数に指定する。
native2ascii input
入力ファイルと出力ファイルを引数に指定する。
native2ascii input output
次に示す引数を native2ascii 変換ツールに指定できる。
次に示すオプションを native2ascii 変換ツールに指定できる。
標準入力から入力されたデータをUnicodeエスケープシーケンス形式に変換して標準出力へ出力する。
C:\> native2ascii
あ
\u3042
Java 8 までは native2ascii 変換ツールでプロパティファイルを UTF-8 へ変換する必要があった。
Java 9 からプロパティファイルに UTF-8 が使用できるようになった。このため、Java 9 以降の JDK には native2ascii 変換ツールが含まれないようになった。
説明の都合上 ASCII コード(7ビット)としたが、厳密には native2ascii が変換するコードは ISO 8859-1(8ビット)である。それぞれの違いを次に示す。
コード | ASCII | ISO-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 | V | V |
57 | W | W |
58 | X | X |
59 | Y | Y |
5A | Z | Z |
5B | [ | [ |
5C | \ | \ |
5D | ] | ] |
5E | ^ | ^ |
5F | _ | _ |
60 | ` | ` |
61 | a | a |
62 | b | b |
63 | c | c |
64 | d | d |
65 | e | e |
66 | f | f |
67 | g | g |
68 | h | h |
69 | i | i |
6A | j | j |
6B | k | k |
6C | l | l |
6D | m | m |
6E | n | n |
6F | o | o |
70 | p | p |
71 | q | q |
72 | r | r |
73 | s | s |
74 | t | t |
75 | u | u |
76 | v | v |
77 | w | w |
78 | x | x |
79 | y | y |
7A | z | z |
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 | コード範囲外 | ÿ |
コード | ASCII | ISO-8859-1 |
Oracle (2021) native2ascii
Oracle (2021) Supported Encodings