У чым розніца паміж серыялізацыяй і кадаваннем?


адказ 1:

Пераўтварэнне дадзеных з аднаго фармату / тыпу / аб'екта, як дыктоўка Python, у іншы фармат / тып / аб'ект, напрыклад, двайковы паток UTF-8, з'яўляецца прыкладам кадавання. Для лічбавых патокаў, між іншым, тут гуляе ролю вынослівасць сістэмы, паколькі кадаванне / дэкадаванне павінна ўлічваць парадак біт у шматбайтнай паслядоўнасці на сістэмным узроўні. Звычайна кадаванне ставіцца да выкарыстання кодэка для пераўтварэння аб'екта ў паток ці сігнал з біт. Аднак гэта не заўсёды так, бо кадаванне можа выкарыстоўвацца для апісання пераўтварэнняў іншага тыпу, напрыклад. B. Радкі, закадаваныя URL, і г.д.

Структураванне дадзеных для транспарціроўкі і захоўвання патрабуе серыйнай байтаў у пэўным парадку. Гэта настолькі, што атрыманая паслядоўнасць байт счытваецца такім чынам, што можа счытвацца іншым працэсам / машынай. У пэўным сэнсе серыялізацыя падобная на кадаванне, паколькі яна пераўтварае. Серыялізацыя, аднак, тычыцца канкрэтна размяшчэння байтаў у пераносным носьбіце, напрыклад, у файле. Адзін са спосабаў запомніць тое, што робіць іх асаблівымі, гэта тое, што энкодер выкарыстоўвае кодэк, а серыялізатар выкарыстоўвае схему. Кодэк пераўтварае лічбавыя патокі / сігналы. Схема вызначае структуру.

Зірніце на прыклады FAQ у BSON. Яны маглі б дапамагчы растлумачыць, чым кадаванне / серыялізацыя адрозніваецца ад BSON і JSON.