teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

指摘の点を修正

2020/07/05 13:10

投稿

pepperleaf
pepperleaf

スコア6385

answer CHANGED
@@ -3,7 +3,7 @@
3
3
  C++では使った事はありませんが、、、
4
4
  シリアライザは、あるデータ(構造体、バイナリ等)を一定の規則でシリアル(大抵は、テキスト形式?)化するもので、デシリアライザは、それを復元する。
5
5
  --> ちょっと訂正。構造体等の内部表現データをシリアル伝送可能な形式(例えば、バイト列)に変換する事。
6
- (Wikipediaに項目が見つからなかった。ちょっと意外)
6
+ ~~(Wikipediaに項目が見つからなかった。ちょっと意外)~~ SHOMIさんより、[シリアライズ](https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%A9%E3%82%A4%E3%82%BA#%E7%9B%B4%E5%88%97%E5%8C%96)との事。(調べ方が悪かったか) プログラム用語みたいですね。
7
7
  そのまま、ファイルに保存される事もありますが、元々は伝送路(通信)の話ではなかったでょうか? (ちょっと自信無い)
8
8
  ~~通信の場合、通信制御コードと実際のデータを区別する必要があるため、シリアライズし、通信制御コードと区別できるようにします。~~ これは、単なるテキスト化/符号化でした。
9
9
 

1

説明の一部訂正

2020/07/05 13:10

投稿

pepperleaf
pepperleaf

スコア6385

answer CHANGED
@@ -2,11 +2,12 @@
2
2
 
3
3
  C++では使った事はありませんが、、、
4
4
  シリアライザは、あるデータ(構造体、バイナリ等)を一定の規則でシリアル(大抵は、テキスト形式?)化するもので、デシリアライザは、それを復元する。
5
+ --> ちょっと訂正。構造体等の内部表現データをシリアル伝送可能な形式(例えば、バイト列)に変換する事。
5
6
  (Wikipediaに項目が見つからなかった。ちょっと意外)
6
7
  そのまま、ファイルに保存される事もありますが、元々は伝送路(通信)の話ではなかったでょうか? (ちょっと自信無い)
7
- 通信の場合、通信制御コードと実際のデータを区別する必要があるため、シリアライズし、通信制御コードと区別できるようにします。
8
+ ~~通信の場合、通信制御コードと実際のデータを区別する必要があるため、シリアライズし、通信制御コードと区別できるようにします。~~ これは、単なるテキスト化/符号化でした。
8
9
 
9
- ファイルへの保存は、そのまま、ファイルへの保存。バイナリなら、バイナリのまま、保存ですね。結果として同じ場合もありますが、一般的には、形式が違う。
10
+ ファイルへの保存は、そのまま、ファイルへの保存。バイナリなら、バイナリのまま、保存ですね。~~結果として同じ場合もありますが、一般的には、形式が違う。~~ シリアライザでシリアル化したものをファイルに保存が一体化している場合がある。(と言うより、そちらが多い?)
10
11
 
11
12
  実際のプログラムとしては、シリアライズして保存する必要は無く、内部データをそのまま、バイナリで保存しても良いですが、保守性/流通性などを考慮し、シリアライズする事があります。
12
13
  質問文にある `json`形式で保存すれば、テキスト形式で保存されるので、エディタ等での編集も可能となります。(バイナリ形式だと、一般には困難)