goo blog サービス終了のお知らせ 

思いついたらグダグダと更新

ニートやろうかと思ったけど、なんとなくずるずると・・・

漢字変換(以前書いたIBM漢字コード+EBCDIC→SJIS+ASCII)のこと

2005-01-03 00:06:39 | ソフトウェア関連
みなさん、明けましておめでとうございます。
新年最初の書き込みが去年の内容を引きずっていて微妙にorzですがあまり気にしてはいけません。


●漢字コード(文字コード)のこと

2004/11/19の日記を改めて読むと微妙に勘違いしてるので補足しときます。
「ASCII」文字(1バイト)に対して「EBCDIC」文字(1バイト)となります。
正確にはこの1バイト(=8ビット)じゃなくて7ビットとする見方もあるけど詳細な説明は他のサイトに詳しく載ってるから適当にググってください。
で、2バイト文字に関しては「SJIS」に対して「IBM漢字コード」となるワケだね。
上司も自分も適当に省略しながらしゃっべってたのでごっちゃになってしまったけど、一般的にはSJISのファイルって言えば、半角も全角も混在してる場合でも使うよね?ね?ねぇ?


●2004/11/19 の日記に書いたことの後日談

実はあれから話をずっと引きずっていて、10年くらい前にどっかのエライ人が作ったUNIX用のファイルコンバータ(EBCDIC→ASCII、IBM漢字コード→SJIS)のWindowsへの移植をお正月返上でコツコツやってたりします。おかげでエタカあんまりできません;;

元ネタはC言語で書かれたコンソールアプリなんで「なんとかなるかなぁ?」と高をくくっていたのですが、なかなか手ごわいヤツで難航しましたよ。だって、mallocしてるのにfreeしてなかったり、ポインタとか各種変数を初期化してなかったりタブ位置は8タブになってるし、ポインタ直接いぢってるから文字列の後ろにヌル入ってないし・・・
ま、普通にコンパイルできるまでにとんでもねー苦労をさせられましたけど何とかEclipse+CDT環境(裏ではcygwin環境が稼動してます)でコンパイルできるとこまでこぎつけましたよ。一応、PACK→ASCII・ZONE→ASCIIの機能があったのがうれしい誤算だったのと、ついでにバイナリ→ASCIIの機能を追加して、CSVで出力する機能もつけて一段落なり。

あとVectorにシェアウェアだけどIBM漢字→UNICODEの変換用DLLがあったのを後から見つけて微妙に萎えた。これだとPACKとかZONEとか変換できないから今回にニーズには合わないものの・・・
最初にコレ見つけてたらもっと・・・きーっ!

商用アプリではこんなのもあった。つか、これで万事解決じゃねーの?やりたいこと全部できそうだし。いったいいくらなんだろ?価格表の更新されてないみたいだけど。


●AIXのiconvのこと

EBCDIC→ASCIIで英・数・半角カナが変換できるのは確認とれてたけど、漢字(2バイトコード)がダメだったんだよね。後から思ったんだけど、漢字INと漢字OUTの制御文字が入っていたら大丈夫だったのかもしれない。今回のデータでは制御文字が無い状態なんだよね。その代わりファイルレイアウトの表が紙ベースでついてきたけど。て紙かよー。せめてExcelとまではいかなくてもテキストぐらいには起こして欲しかった。




PS:
ポチポチ修正してる間、PET放置してたら青サンタパンツでた♪
神殿で叫んでも売れなかったので、ついカッとなってギルメンに格安で売ってしまった。