さあEBCDIC
2010/09/23
java
文字コード
文字コードです。
世の中人知れず、文字コードで悩み苦しんでいる人がたくさんいるのだなーと思う今日この頃です。
時間にするとかなりな時間になるのだろうなーと思います。
僕の知らないところで規格を考えている人たちに敬意を表します。
EBCDICというのがあるそうです。
wikipediaをちらちら見てますと、ホストコンピュータというのはぜんぶIBM起源なのですかね?
wikipediaにあった表を変換してます。
NUL SOH STX ETX SEL HT RNL DEL GE SPS RPT VT FF CR SO/LS1 SI/LS0
DLE DC1 DC2 DC3 RES/ENP NL BS POC CAN EM UBS CU1 IFS IGS IRS IUS/ITB
DS SOS FS WUS BYP/INP LF ETB ESC SA SFE SM/SW CSP MFA ENQ ACK BEL
(予約) (予約) SYN IR PP TRN NBS EOT SBS IT RFF CU3 DC4 NAK (予約) SUB
sp 。 「 」 、 ・ ヲ ァ ィ ¢ . < ( + │
& ゥ ェ ォ ャ ュ ョ ッ ー ア ! $ * ) ; ¬
- / イ ウ エ オ カ キ ク ケ | , % _ > ?
コ サ シ ス セ ソ タ チ ツ ` : # @ ' = "
テ a b c d e f g h i ト ナ ニ ヌ ネ ノ
ハ j k l m n o p q r ヒ フ ヘ ホ マ ミ
ム ~ s t u v w x y z メ モ ヤ ユ ヨ ラ
リ ル レ ロ ワ ン ゛ ゜
{ A B C D E F G H I
} J K L M N O P Q R
\ S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 EO
で、上のデータをもとにHTMLに表にしてます。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | |
0 | NUL | SOH | STX | ETX | SEL | HT | RNL | DEL | GE | SPS | RPT | VT | FF | CR | SO/LS1 | SI/LS0 |
1 | DLE | DC1 | DC2 | DC3 | RES/ENP | NL | BS | POC | CAN | EM | UBS | CU1 | IFS | IGS | IRS | IUS/ITB |
2 | DS | SOS | FS | WUS | BYP/INP | LF | ETB | ESC | SA | SFE | SM/SW | CSP | MFA | ENQ | ACK | BEL |
3 | (予約) | (予約) | SYN | IR | PP | TRN | NBS | EOT | SBS | IT | RFF | CU3 | DC4 | NAK | (予約) | SUB |
4 | sp | 。 | 「 | 」 | 、 | ・ | ヲ | ァ | ィ | ? | . | < | ( | + | │ | |
5 | & | ゥ | ェ | ォ | ャ | ュ | ョ | ッ | ー | ア | ! | $ | * | ) | ; | ? |
6 | - | / | イ | ウ | エ | オ | カ | キ | ク | ケ | | | , | % | _ | > | ? |
7 | コ | サ | シ | ス | セ | ソ | タ | チ | ツ | ` | : | # | @ | ' | = | " |
8 | テ | a | b | c | d | e | f | g | h | i | ト | ナ | ニ | ヌ | ネ | ノ |
9 | ハ | j | k | l | m | n | o | p | q | r | ヒ | フ | ヘ | ホ | マ | ミ |
a | ム | ? | s | t | u | v | w | x | y | z | メ | モ | ヤ | ユ | ヨ | ラ |
b | リ | ル | レ | ロ | ワ | ン | ゛ | ゜ | ||||||||
c | { | A | B | C | D | E | F | G | H | I | ||||||
d | } | J | K | L | M | N | O | P | Q | R | ||||||
e | \ | S | T | U | V | W | X | Y | Z | |||||||
f | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | EO |
ソース
package d;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import u.Utils;
public class TestEBCDIC {
public static void main(String[] args) throws URISyntaxException,
IOException {
a();
}
static void a() throws URISyntaxException, IOException {
File file = new File(TestEBCDIC.class.getResource("doc-files/tbl.txt")
.toURI());
String tbl = Utils.getAtOnce(file, "utf-8");
// System.out.println(tbl);
String[] lines = tbl.split("\n");
{
System.out.print(" ");
for (int i = 0; i <= 0xf; i++) {
System.out.printf("%h ", i);
}
System.out.println();
int c = 0;
for (String line : lines) {
System.out.printf("%h ", c++);
String[] ss = line.split("\t");
for (String s : ss) {
System.out.printf("%s ", s);
}
System.out.println();
}
}
{// HTML table
System.out
.println("<table width='400' border='1' style='font-size: 8pt;'>");
System.out.print("<tr>");
System.out.printf("<td></td>");
for (int i = 0; i <= 0xf; i++) {
System.out.printf("<td>%h</td>", i);
}
System.out.println("</tr>");
int c = 0;
for (String line : lines) {
System.out.print("<tr>");
System.out.printf("<td>%h</td>", c++);
String[] ss = line.split("\t");
for (String s : ss) {
System.out.printf("<td>%s</td>", s);
}
System.out.println("</tr>");
}
System.out.println("</table>");
}
}
}
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import u.Utils;
public class TestEBCDIC {
public static void main(String[] args) throws URISyntaxException,
IOException {
a();
}
static void a() throws URISyntaxException, IOException {
File file = new File(TestEBCDIC.class.getResource("doc-files/tbl.txt")
.toURI());
String tbl = Utils.getAtOnce(file, "utf-8");
// System.out.println(tbl);
String[] lines = tbl.split("\n");
{
System.out.print(" ");
for (int i = 0; i <= 0xf; i++) {
System.out.printf("%h ", i);
}
System.out.println();
int c = 0;
for (String line : lines) {
System.out.printf("%h ", c++);
String[] ss = line.split("\t");
for (String s : ss) {
System.out.printf("%s ", s);
}
System.out.println();
}
}
{// HTML table
System.out
.println("<table width='400' border='1' style='font-size: 8pt;'>");
System.out.print("<tr>");
System.out.printf("<td></td>");
for (int i = 0; i <= 0xf; i++) {
System.out.printf("<td>%h</td>", i);
}
System.out.println("</tr>");
int c = 0;
for (String line : lines) {
System.out.print("<tr>");
System.out.printf("<td>%h</td>", c++);
String[] ss = line.split("\t");
for (String s : ss) {
System.out.printf("<td>%s</td>", s);
}
System.out.println("</tr>");
}
System.out.println("</table>");
}
}
}
: