Watch, Follow, &
Connect with Us

Please visit our new home
community.embarcadero.com.


Welcome, Guest
Guest Settings
Help

Thread: XMLデータをバイナリ形式でシリアル化したいのですが



Permlink Replies: 9 - Last Post: Apr 5, 2017 4:30 AM Last Post By: Hideyuki Oya
Hideyuki Oya

Posts: 87
Registered: 6/6/07
XMLデータをバイナリ形式でシリアル化したいのですが
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 12, 2017 9:49 PM
いつもお世話になります。
現在自作アプリ(C#で作成)用データの編集用アプリ(Delphi10 Professional使用)を改良しています。
現状StringGridのデータをXMLテキストファイルで出力しているものを、バイナリで出力したいです。

StringGridのデータ(6Kバイト、200行、将来的にこの10倍)のシリアル化って簡単にできますか?
さらにC#で簡単に逆シリアル化できますか?
Makoto Saito

Posts: 26
Registered: 12/5/04
Re: XMLデータをバイナリ形式でシリアル化したいのですが
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 13, 2017 7:26 PM   in response to: Hideyuki Oya in response to: Hideyuki Oya
テキストファイルをバイナリにというのが,どのような意味なのか分かりません.
例えば文字を,その文字コード (コードポイント) の値にして,つまり,文字列をバイト配列に変換してしまえば,少なくとも「テキスト」とは言えなくなるとは思います.

「シリアル化」というのがどのような状態を意味するのは分かりませんので,バイト配列に変換することが目的にかなうのかは不明です.

文字列 <--> バイト配列
は,MECSUtils を利用すると簡単にできます.

http://ht-deko.com/tech021.html#tech050
Makoto Saito

Posts: 26
Registered: 12/5/04
Re: XMLデータをバイナリ形式でシリアル化したいのですが
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 13, 2017 11:24 PM   in response to: Makoto Saito in response to: Makoto Saito
ゴメンナさい.
よく考えてみたら,バイト配列にして保存しても意味ないですね.
コードページが指定できるだけです.

TBinaryWriter でバイナリデータに変換して,読み込む時は TBinaryReader を使用する方法はどうでしょうか.
Hideyuki Oya

Posts: 87
Registered: 6/6/07
Re: XMLデータをバイナリ形式でシリアル化したいのですが
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 14, 2017 8:39 PM   in response to: Makoto Saito in response to: Makoto Saito
Makoto Saito wrote:
ゴメンナさい.
よく考えてみたら,バイト配列にして保存しても意味ないですね.
コードページが指定できるだけです.

TBinaryWriter でバイナリデータに変換して,読み込む時は TBinaryReader を使用する方法はどうでしょうか.

回答ありがとうございます。
とりあえず、簡単に読めなくするのが目的です。

このBinaryWriterはDelphiとC#とで互換性があるんでしょうか?
Makoto Saito

Posts: 26
Registered: 12/5/04
Re: XMLデータをバイナリ形式でシリアル化したいのですが
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 14, 2017 10:14 PM   in response to: Hideyuki Oya in response to: Hideyuki Oya
このBinaryWriterはDelphiとC#とで互換性があるんでしょうか?

TBinaryWriter は C# のそれと互換性があると思います.
でも,Delphi のオンラインヘルプに記事ありますので,そちらが参考になると思います.
オンラインヘルプを検索する時は,BinaryWriter ではなく TBinaryWriter で検索してください.

[クラス名のプリフィックスの T の意義 - オンラインヘルプ検索の例]
http://mrxray.on.coocan.jp/Delphi/Others/A_UltraIntro03.htm#01

ちなみに,(現在の) コンピュータのデータというのは,全てバイナリデータです.
つまり,テキストを保存すれば,それはバイナリで保存されます.
Makoto Saito

Posts: 26
Registered: 12/5/04
Re: XMLデータをバイナリ形式でシリアル化したいのですが
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 22, 2017 7:22 PM   in response to: Makoto Saito in response to: Makoto Saito
ネットで検索したら,テキストをバイナリに変換とか保存に関する質問がありました.
そこで,関係するかも知れない内容を記事してみました.
参考になれば.

[テキストをバイナリデータ形式で保存]
http://mrxray.on.coocan.jp/Delphi/plSamples/882_TextSaveBinary.htm
Hideyuki Oya

Posts: 87
Registered: 6/6/07
Re: XMLデータをバイナリ形式でシリアル化したいのですが
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 1, 2017 11:00 PM   in response to: Makoto Saito in response to: Makoto Saito
Makoto Saito wrote:
ネットで検索したら,テキストをバイナリに変換とか保存に関する質問がありました.
そこで,関係するかも知れない内容を記事してみました.
参考になれば.

[テキストをバイナリデータ形式で保存]
http://mrxray.on.coocan.jp/Delphi/plSamples/882_TextSaveBinary.htm

ありがとうございます。
他の部分でバグがなかなか治らず、今回のバージョンではシリアル化は諦めて完成させることにしました。
お手数をおかけして申し訳ありませんでした。
Makoto Saito

Posts: 26
Registered: 12/5/04
Re: XMLデータをバイナリ形式でシリアル化したいのですが
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 4, 2017 4:38 AM   in response to: Hideyuki Oya in response to: Hideyuki Oya
他の部分でバグがなかなか治らず、今回のバージョンではシリアル化は諦めて完成させることにしました。
シリアル化って何だろうと思っていたのですが,
多分,シリアライズで調べると情報があるような気がします.例えば
delphi xml serialize 
とかですね.
Hideyuki Oya

Posts: 87
Registered: 6/6/07
Re: XMLデータをバイナリ形式でシリアル化したいのですが
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 5, 2017 4:29 AM   in response to: Makoto Saito in response to: Makoto Saito
Makoto Saito wrote:
テキストファイルをバイナリにというのが,どのような意味なのか分かりません.
例えば文字を,その文字コード (コードポイント) の値にして,つまり,文字列をバイト配列に変換してしまえば,少なくとも「テキスト」とは言えなくなるとは思います.

「シリアル化」というのがどのような状態を意味するのは分かりませんので,バイト配列に変換することが目的にかなうのかは不明です.

文字列 <--> バイト配列
は,MECSUtils を利用すると簡単にできます.

http://ht-deko.com/tech021.html#tech050

ごめんなさい、私にもよくわからないんです。
C#のアプリで使用するデータをDelphi(こちらの方が慣れており、なんとか作りたいアプリを作れています)で作成しています。
C#の本とかネットでよく出てくるので、シリアル化をしてみようと思った次第です。
私には少し敷居が高かったみたいです。
Hideyuki Oya

Posts: 87
Registered: 6/6/07
Re: XMLデータをバイナリ形式でシリアル化したいのですが
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 5, 2017 4:30 AM   in response to: Makoto Saito in response to: Makoto Saito
Makoto Saito wrote:
テキストファイルをバイナリにというのが,どのような意味なのか分かりません.
例えば文字を,その文字コード (コードポイント) の値にして,つまり,文字列をバイト配列に変換してしまえば,少なくとも「テキスト」とは言えなくなるとは思います.

「シリアル化」というのがどのような状態を意味するのは分かりませんので,バイト配列に変換することが目的にかなうのかは不明です.

文字列 <--> バイト配列
は,MECSUtils を利用すると簡単にできます.

http://ht-deko.com/tech021.html#tech050
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02