デシリアライズ
シリアライズされているのを元に戻すよ
具体的に何をやるかはケース・バイ・ケースだよ
簡単に書くよ
デシリアライズ(英:deserialize)とは
シリアライズ
(一直線に並べる、または順番に並べること)の逆
であり
シリアライズ(直列化とか逐次化)されたのを元に戻すこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「シリアル」(と「パラレル」)と「シリアライズ」について説明します。
特にシリアライズについては結構ガッツリ説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
シリアルは「直列」の意味です。
よく通信関係の話で出てきます。
パラレルは「並行」とか「並列」の意味です。
シリアライズは「シリアルにすること」です。
……というのが大雑把なイメージの話です。
「シリアライズ」という用語には
1.何かを一直線に並べる(直列化)
2.何かを順番に並べる(逐次化)
の2つの意味があります。
ちなみに「逐次」は「順を追って次々に」的な意味ね。
直列化を意味するシリアライズは、例えばプログラミングにおいて、配列(値を入れておく箱の集まり)をファイルに保存したりするときに登場します。
プログラミングでは「変数」や「配列」というものが出てきます。
変数は「プログラミング言語における『値を入れておく箱』」です。
処理の途中で値を入れたり、逆に取り出したりできます。
配列は「複数の変数をくっつけたもの」です。
変数は「値を入れておく箱」でした。
配列は「値を入れておく箱が複数くっついたもの」です。
あるとき、ピヨ太君が配列をファイルに保存したいと思いました。
※話を単純化するために「ファイル」と表現していますが、こだわり派な人は「テキストファイル」(=中身が文字だけのファイル)と読み替えてください。
ですが、それは、できません。
ファイルに保存できるのは文字(文字列)だけだからです。
配列は保存できません。
どうしても配列をファイルに保存したいピヨ太君は、配列を無理やり文字列に変換しました。
例えば、それぞれの要素に「あ」と「い」と「う」が入っていた配列を
配列[あ][い][う]
という文字列に変換したのです。
文字列ならファイルに保存できます。
配列は「配列を変換した文字列」という形で、ファイルに保存できました。
めでたし、めでたし。
この話においてピヨ太君がやった作業を「シリアライズ」と言ったりします。
何となくですが、配列は立体的なイメージがありますよね。
文字列は、一直線に並んでいるイメージがあります。
立体的な配列を一直線に並んでいる文字列に変換するのがシリアライズ(の一例)です。
これが直列化を意味するシリアライズです。
次に逐次化を意味するシリアライズについて説明します。
逐次化を意味するシリアライズは、複数人が同時に使える物を、順番に使ってもらいたいときとかに登場します。
例えば、コンピュータの世界には「CPU」という物があります。
CPUはコンピュータの脳みそに相当する部品です。
おっと、ピヨ太プログラムがCPUを使おうとしています。
ピヨ子プログラムもCPUを使おうとしています。
ところがどっこい、CPUさんは2つ同時に相手できる状態にありませんでした。
そこで、順番に並んでもらいました。
まずは先に来たピヨ太プログラムの相手をします。
それが終わったら、ピヨ子プログラムの相手をします。
これで、CPUさんはテンパることなく、2つのプログラムを相手できました。
めでたし、めでたし。
これが逐次化を意味するシリアライズです。
複数のものがワーッと来るのを「順番に並んで~」とする行為です。
繰り返しになりますが「シリアライズ」という用語には
1.何かを一直線に並べる(直列化)
2.何かを順番に並べる(逐次化)
の2つの意味があります。
どちらを意図しているかは文脈から判断してください。
以上を踏まえて
シリアライズされたのを元に戻す
のが「デシリアライズ」です。
……というのが言葉の意味を素直に捉えた場合の話です。
実際には、配列とかをシリアライズしたのを元に戻す行為を指していることが多いはずです。
シリアライズの説明をしたときに、ピヨ太君は配列を「配列を変換した文字列」に変換してファイルに保存しました。
ファイルに保存した配列を実際に使いたいときは「配列を変換した文字列」を配列に戻してから使います。
この「配列を変換した文字列」を配列に戻す作業がデシリアライズ(の一例)です。
デシリアライズで何をするかは、シリアライズで何をしたか次第です。
具体的に何を意図しているかは文脈から判断してください。
一言でまとめるよ
まぁ「デシリアライズ」って単語が出てきたら「シリアライズ
(一直線に並べる、または順番に並べること)されたのを元に戻すんだな~」と お考えください。
おまけ
■訳してみるよ
「de(デ)」という接頭辞が付くと「反対に」とか「離れる」とか「下」とか「外へ」のような意味になります。
「serial(シリアル)」の意味は「連続的な」とか「ひと続きの」とか「順次の」とか「直列の」とかです。
「ize」という接尾辞が付くと「~になる」とか「~化する」的な意味になります。
何となく くっつけると
「順次にする」の反対
とか
「直列にする」の反対
となります。






