プロが教える店舗&オフィスのセキュリティ対策術

漢字を含めた文字コード体系の質問です。
"青森"の漢字コードが 16進で"A53C A4CE"となり、"旭川"の漢字コードが "A6F6 A4B7"となるコード体系の名前を教えてください。
環境は富士通のNetCOBOLのシステムです。実データがありますがコード体系が分かりませんでした。
JEFコードかと思いましたが違うようです。
よろしくお願いします。

質問者からの補足コメント

  • fakeflakeさん


    ご回答ありがとうございました。
    コード体系に詳しくないものでアドバイスありがとうございます。
    もっとデータが欲しいというご要望ですね。
    まだ少ないですが、以下を参考にしていただけませんか。


    奄美大島 AA32 A427 A424
    秋田   A5B0 A4B3
    福島   A4C5 A43F
    福岡   A4C5 A4BC
    広島   A4DF A43F
    函館   2EDE A7B2
    佐賀   A4C0 A5A0
    鹿児島  A570 A5D0 A43F

    よろしくお願いします。

      補足日時:2018/08/23 13:02
  • 奄美大島のコードで、島の A43F が漏れていました。すみませんでした。

      補足日時:2018/08/23 13:10
  • 殆どの漢字コードは Axxx ですが、函 だけは 2EDE と違っていますね。
    もしかして解析のポイントになるかと思いましたので、A で始まらない漢字を以下にピックアップします。

    出雲 A4CC D5E4
    釧路 2E30 A664
    紋別 3C39 A5F1
    沖縄 A6FD 2FA4
    隠岐 2BD6 A6D5
    稚内 28ED A4C8

    以上よろしくお願いします。

      補足日時:2018/08/23 15:00
  • fakeflakeさん

    もっと分からなくなりましたか。
    何でしょうね。
    システムは実働しているのですが、お客様のシステムですのでテストはできないです。
    現行システムのソースの調査をやっていたところ、このコードにぶつかってしまいました。
    見ているファイルのタイムスタンプは2002年ですので、かなり古いですね。
    あと、ファイル名に .ebs の拡張子があるので、EBCDICコードが絡むのかも。
    さてさて。

    No.2の回答に寄せられた補足コメントです。 補足日時:2018/08/24 10:55
  • 各位へ

    富士通独自のSJISコード体系の R90 とか R90 と親和性が高いと言う U90 とか怪しくないですかね?
    コード表が検索できず確認できませんでしたが。

      補足日時:2018/08/27 10:18
  • アルファベットとカタカナの漢字コードが分かりました。これから分からないでしょうか?

    BCグループ A142 A143 A242 A2D7 A2B0 A250
    (株) A128 A7AE A129

    よろしくお願いします。

      補足日時:2018/08/27 17:20
  • 皆さんへ

    質問者です。
    原因が分かりました。
    日本語文字セットコードページ300系のIBMのマシンで作成した漢字入りのファイルを単にEBCDICからJISにコード変換したファイルのようです。

    例えば、青森と言う漢字はコードページ300では、464C 459D となります。
    これを1バイトづつ単純にEBCDICからJISにコード変換すると、45AC A4CE となります。
    こういうへんてこなデータをマスターファイルとして使っているシステムでした。

    EBCDIC変換したファイルのコード体系が分かって、カラクリが分かりました。
    皆さんがコード体系の話しをされたので分かりました。ありがとうございました。

    ベストアンサーは最初に回答をくださった Fakeflakeさんにさせていただきます。

      補足日時:2018/08/30 14:27

A 回答 (4件)

興味があったので調べてみましたが、見れば見るほど「なにこの変態」ってなっちゃいました…



JEFコードにしても漢字部分はJISコード+8080で変換できるので、文字のコード表内部での前後関係はJISと変わらないはずです。JISだと青=4044で、旭=3030。しかし今回のは、そのまま読むと青=A53Cで旭=A6F6だから前後関係が逆転しています。ちなみにこの前後関係はEUCでもUnicodeでも、旭の方が青より先に登場しますから、それが逆ってのはどんだけ変態なんだよって話です。通常使われているどのコードにも当てはまらないことになるので。

エンディアンやデータの格納順序の問題でもなさそうだし、これは困りましたね。後は数をまとめて色んなパターンを解析するしかなさそうです。もうちょっとヒントがないと厳しいです。
    • good
    • 0

> もしかして解析のポイントになるかと



もっとわからなくなりました…

それで実働しているシステムがあるなら、JISコード表の文字を順番に16文字ずつ流し込んで、どう変換されるかを調べていくという地味な作業で解読できますが。
この回答への補足あり
    • good
    • 0

面白そうなので考えてみましたが分かりませんね。



1バイト目にAx・2x・3xというのはEBCDIC互換っぽいです。少なくとも2x・3xがある時点でASCII互換ではありえません。
ただしEBCDICだとすると「雲」の「D5」だけEBCDICとかぶるはずなので不可解です。

fakeflakeさんの言う通り、JIS・Unicodeの順と合いません。
ついでに「岡」「沖」はJISで隣り合っているのに対しこのコードでは隣り合っていません。
JISでもUnicodeでもない文字集合というと思いつくのが中国語のGBコードくらいですが国内のメインフレームで使われるのは考えづらいです。

コード順に並べてみましたが特に順番に意味を見いだせません。
稚隠釧函縄 紋 大美島田川岡佐福内出森広青鹿賀秋児別路岐旭沖館奄 雲

他に思いつくのは漢字をASCIIに変換したものを更にEBCDICに対応させて読むとかの変態コードくらいです。

あと気になるところとしては1バイト文字やカナ・数字はどのようなコードになっているのかと、JIS第2水準以上の文字は存在するのかですね。
    • good
    • 1

これはますます分からなくなりました。


(全角の?)「B」「C」「(」「)」のコードは上位がA1、下位がASCIIコードと同一です。
ここまでASCIIと無関係なEBCDICだと思ってきたのに。
JISコード(ISO-2022-JP)も英数字は下位バイトがASCIIと同じ値ですが括弧は異なるので、やはりJISの順ではなさそうです。
また、ASCII順の部分があることで、「漢字コードをASCIIとして読んだ文字と同じ文字のEBCDICのコード」のような変態変換はやっていないのだろうと考えられます。

そして「グループ」=「A242 A2D7 A2B0 A250」という、濁音半濁音と清音の間に長音符号がある謎の順序の方は、輪をかけて分かりません。
「ー」=「B0」はJIS X 0201(半角カナ)と同一ですが「ル」=「D7」は惜しいところで異なります(半角カナのD7は「ラ」)。
2文字少なくなる理由も思いつかないので(と書こうとしたらひらがなとカタカナの「へ」「り」を同一視するというのを思いついてしまったが、ファミコン時代じゃあるまいし)、まあ偶然ですかね。
「グ」と「プ」の間も普通に濁音半濁音が順に並んでいるとするとスペースが足りませんので、単純な並び順ではなさそうです。

R90やU90というものは軽くググった限りではShift_JISやEUCに外字を加えたもののように見えます。

あと雑多な感想的なものを書きますと、
1バイト目がA1がASCII、A2がカタカナということで、きっとA3はひらがななんだろうなあ。
そうすると次でA4の漢字が始まるということは全角記号類はどこだろう。A0?
A0やA1から始まるというのはJISコード(ISO-2022)・EUCっぽい。
漢字がAxがほとんどで他が2x,3xというのは、なんでBxあたりを使わないのだろう。そのへんに既に文字があった? そんな文字コードあったかなあ。
富士通のEBCDICを見るとAx列にカタカナが入っているっぽい。
http://software.fujitsu.com/jp/manual/manualfile …
このカタカナ部分を2バイト文字に? いや8xや9xが使われていないのが不自然だ。
それにしても奇妙な並び方のカタカナだ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!