Encoding / Decoding
Atalarin encoding'i Programlar genelde veriyi 2 sekilde kullanir: 1. In-memory : bilgisayar hafizasinda list, dictionary, ya da custom class olarak tutulut. Bu veri yapilari direk olarak CPU tarafindan erisilmek ve manipule edilbilmek uzere optimize edilmis olurlar. 2. Byte array : Datayi diske yazmak istedigimizde ya da network uzerinden transfer etmek istedigimizde, bir sekilde byte dizesi haline getirmemiz gerekir. Iste hafizada duran verilen byte dizisi haline getirilmesi islemine encoding (marshalling ya da seializasyon da denilir) adi veilir. Byte arayindan tekrar hafiza tiplerine donustumek de decoding olarak adlandirilir. (benze sekilde Unmarshalling veya deseializasyon da denilebili). Peki hafizada tutulan verilei ne sekilde serialize edebiliriz? 1. Dil destekli encoding Mesela python icin pickle, Java icin java.io.Serializable, Ruby icin marshall formatlarinda dil tarafindan desteklenen encoding olanaklari vardir. Bir python class'ini ya da arrayini kolayca pickle