- - PR -
C#でのパック形式データ作成
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-02 11:04
いつも参考にさせていただいています。
COBOLでよく使用されるようですが、1バイトの中に上位4bitと下位4bitに分けて データを作成するパック形式でデータを作成しています。 もちろん、テキストエディタで開くとパック形式で書かれているところは 文字化けして見えます。 バイナリエディタで開くとパック形式で書かれている部分には、意図した データが書かれているようにしなければなりません。 [テキストエディタで開いた場合] 1234#Ec1234 ↑↑(パック形式の場所) [バイナリエディタで開いた場合] 31 32 33 34 01 23 45 63 31 32 33 34 ↑↑↑↑↑↑(パック形式の場所) いろいろ調べては見たもののC#で実現可能なのか否かも 分からない状況です。 バイナリで見たときに「01 23 45 63」となるようにファイルに 書き込むことは可能なのでしょうか? もし可能であれば手法をご教示していただきたく存じます。 パック形式のデータに関する知識が乏しいためネットで調べたの ですが、参考になるものはありませんでした。 が、念のため下記に記載しておきます。 http://www.ffortune.net/comp/develop/data/kazu.htm http://www.infonet.co.jp/ueyama/ip/glossary/chr_code.html よろしくお願いいたします。 | ||||||||
|
投稿日時: 2005-09-02 11:08
一部、見難い箇所がありましたので修正します。
----------------------------------------- [テキストエディタで開いた場合] #Ec1234 ↑↑(パック形式の場所) [バイナリエディタで開いた場合] 01 23 45 63 31 32 33 34 ↑↑↑↑↑↑(パック形式の場所) ----------------------------------------- 以上です。 | ||||||||
|
投稿日時: 2005-09-02 11:22
過去ログにこんなんありました。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16384&forum=7&3 | ||||||||
|
投稿日時: 2005-09-02 12:24
IO.BinaryWriterを使用すれば可能です。 VBですがこんな感じです。
こういうことではなく、パック形式を含むデータをいかに解釈するか、 ということでしょうか? (私もパック形式には詳しくないのでわかりません) [ メッセージ編集済み 編集者: kanai 編集日時 2005-09-02 12:28 ] | ||||||||
|
投稿日時: 2005-09-02 15:11
皆さん、返信ありがとうございます。
参考に試して見ます。 kanaiさんのようにすれば、出来そうですがパック形式にする部分が 動的に変わってくるため、一ひねりいりそうです。。。 | ||||||||
|
投稿日時: 2005-09-02 15:55
符号値とか桁数を解決したhex文字列を
2文字ずつ区切ってbyteに解析して その結果をコレクションに追加してって 全桁解析おわったらbyte配列にして あとはkanaiさんが提示されたような感じで ファイルに書き込めますね。 | ||||||||
|
投稿日時: 2005-09-02 16:33
検索語
.NET packed decimal .NET COBOL COMP など、英語検索エンジンで当たるといいかも Data translation between C#, XML, and COBOL mainframe data types § Supports various copybook data types such as PIC, CMP2, CMP3 and etc. Mainframe Copybook to CSharp (C#) http://www.dnzone.com/showDetail.asp?TypeId=23&NewsId=1050 ここは要登録ですが |
1