- - PR -
SHIFT-JIS ⇔ EBCDIC + JIS漢字 の変換方法(VB.NET)
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-06-22 13:12
VB.NET を用いて
SHIFT-JISで書かれたファイルを EBCDIC + JIS漢字 のファイルに変換したいのですが、 .NET Framework(1.1) を用いてそういった変換は可能なのでしょうか。 調べた限りでは文字コードの混在したファイルを作る方法が見つかりませんでした。 調べ方が足りないのかもしれませんが、「こうやったら出来そう」といったアドバイスを いただけると嬉しいです。 どなたかご存知の方おられましたら、よろしくお願いします [ メッセージ編集済み 編集者: 最大40 編集日時 2004-06-22 13:17 ] | ||||||||
|
投稿日時: 2004-06-22 14:27
汎用機の世界では、昔から、コード変換物はあるのですが
Web検索にはほとんど出ないかもしれません。 可変長テキスト?固定長レコード? 漢字IN/OUTを 使う/使わない など EBCDIC + JIS漢字 といっても、バリュエーションあります。 EBCDIC もバリュエーションありました。コードページは? 英小文字、カナ、ユーザー外字もあるかも ●調べた限りでは文字コードの混在したファイルを作る方法が見つかりませんでした。 でしょう。 自作するなら、バイトで読んで変換です。 UNICODE以前のソースを発掘すると参考になるかも、 日本語文字列関数とか、JStringなんとかLib。 速度重視でないなら、SJIS→UNICODE→EBCDIC になります。 Get1文字→文字種判定→それぞれ文字変換→バイトで詰めてゆく。 文字→バイト配列 が判れば、1文字ループです。 ==================================================== EBCDIC .NET Framework で検索するとすぐ出ました。 http://www.atmarkit.co.jp/fdotnet/dotnettips/010str2byte/str2byte.html http://www.atmarkit.co.jp/fdotnet/dotnettips/013enumenc/enumenc.html コード表の細かいことを気にしなければ,切り替えの処理を作るだけで。 string str = "ESC切り替えのJISへ変換"; Encoding sjisEnc = Encoding.GetEncoding("iso-2022-jp"); byte[] bytes = sjisEnc.GetBytes(str); Console.WriteLine(BitConverter.ToString(bytes)); 1B-24-42-25-37-25-55-25-48-1B-28-42-4A-49-53-1B-24-42-24-58-4A-51-34-39-1B-28-42 IBM EBCDIC 日本語符号化文字集合 http://www.asahi-net.or.jp/~ez3k-msym/charsets/ebcdic.htm [ メッセージ編集済み 編集者: MMX 編集日時 2004-06-22 15:17 ] | ||||||||
|
投稿日時: 2004-06-22 15:12
>MMXさん
すばやいレスポンス有難うございます
今回初めてホスト相手のプログラムを作ることになりまして、悪戦苦闘しています 特にコードに関してはややこしいですね ちなみに今回のフォーマットは固定長でカナ・漢字(IN/OUT含)あり EBCDIC + JISもしくはEBCDIC + IBM漢字 といったものです。
なるほど・・。やはり簡単に行きそうにありませんね これから文字コードと.NETについてもっと勉強して頑張ってみようと思います 大変参考になるアドバイス、有難うございました [ メッセージ編集済み 編集者: 最大40 編集日時 2004-06-22 15:15 ] | ||||||||
|
投稿日時: 2004-06-22 15:24
その仕事は、ミドルウェアとかに付属になっているのが普通です。
カタログを読むとたいていは載っています。 例:Toolkitには、以下のような特長があります。 http://www.sw.nec.co.jp/soft/acos4/product/aat/point.html 自作する場合の危険性は、拡張外字とかの検証です。 |
1