Extended_UNIX_Code_Fixed_Width_for_Japanese

Extended_UNIX_Code_Fixed_Width_for_Japanese

[3] 固定長の日本語 EUCIANA の名前がこれ。可変長の日本語 EUC (普通に言うところの日本語 EUC) も IANA 名は Extended_UNIX_Code_Packed_Format_for_Japanese ですが、 EUC-JP というまともな別名があとからつけられました。 固定長の方はたぶん誰も使ってない (少なくても情報交換用には。) ので放置されたままなんでしょう。

C なんかの wide char に使うことを意図してるんでしょうが、 今時使ってる処理系ってあるんでしょうか? (もちろん、考案当時は それなりの数あったと思います。)

ていうか、どう考えても情報交換用符号化方式でないこれが IANA 登録簿にあるんでしょうか。今ならともかく、登録当時 (いつか知らないけど、たぶん1990年代前半) の IETF の人達は なに考えてたんでしょ?

IANA 登録簿から

 Name: Extended_UNIX_Code_Fixed_Width_for_Japanese
 MIBenum: 19
 Source: Used in Japan.  Each character is 2 octets.
                code set 0: US-ASCII (a single 7-bit byte set)
                              1st byte = 00
                              2nd byte = 20-7E
                code set 1: JIS X0208-1990 (a double 7-bit byte set)
                            restricted  to A0-FF in both bytes 
                code set 2: Half Width Katakana (a single 7-bit byte set)
                              1st byte = 00
                              2nd byte = A0-FF
                code set 3: JIS X0212-1990 (a double 7-bit byte set)
                            restricted to A0-FF in 
                            the first byte
                and 21-7E in the second byte
 Alias: csEUCFixWidJapanese

この説明はあまり正確ではありません。まず、 CL の扱いが不明瞭です。 (制御文字の扱いまで頭が回らなかったのでしょうか。) 左半分、つまり 0x00-0x7F はそのまま 0x00 0x00-0x7F になります。

それから、 CS1-CS3 の説明で 0xA0-0xFF ということになっていますが、 いずれも 94 文字集合ですから、 0xA0 と 0xFF は使いません。 0xA1-0xFE と書くのが正しいです。大体 CS3 の説明の第2オクテットが 0x21-0x7E になってて一貫性がありません。

CS2 は Half Width Katakana ですが、これは間違いで JIS X 0201 Katakana です。 Extended_UNIX_Code_Packed_Format_for_Japanese (EUC-JP) の説明も間違ってます。

[5] IANA charset としては別のものになってしまうのでしょうけど、 JISX0213 も加えている実装もあるみたいです。 (細かい点を無視すれば) JISX0208JISX0212 と安全に符号空間を共有できます。