Bayt akışları, baytları içerir. Aslında ne olduğu ile parçalanmış, 1 ve 0'dan oluşan 8 bit. Bir sayıyı temsil ediyor olsaydı, 0'dan 255'e kadar herhangi bir sayı olurdu (ekleyebileceğim, bir IP adresindeki 4 sayının neden her zaman 0'dan 255'e kadar olduğu) tesadüf değil). Bayt akışları genellikle dairesel bir arabellek tutmak için kullanılan temel bayt dizisini gizlemeye yönelik karmaşık arabirimlerdir (arabelleği doldurur ve birinin boşalmasını bekler, bu sırada arabelleği yeniden doldurur).
Bu neyi temsil ediyor? Peki, bir metin dosyasını veya bir görüntüyü veya canlı bir video akışını temsil edebilir. Ne olduğunu okumadan kimin bağlamında üzerine tamamen bağımlıdır. Onaltılık temsil, aynı şeyi söylemenin başka bir yoludur, ancak sayıları değil de onaltılı gösterimleri bakımından baytları yönetmek daha uygun olsa da, aynı şeydir.
Ham verilere atıfta bulunurken, genellikle bayt verilerini kastediyorsunuz. Veriler, "Ben bir resim dosyasıyım!" Yazan bir etiket olmadan gelir. Genelde, yalnızca verilerin genel olarak neyi temsil ettiğini önemsemediğiniz zaman ham verilerle ilgilenirsiniz. Örneğin, bir görüntüyü siyah beyaz sürümüne dönüştürmek istersem, görüntünün ham verilerini ve okunan her 3 bayt için (aslında kırmızı rengin temsili, yeşil rengin temsili ve mavi renk), sayı değerini ekleyin ve 3'e bölün, ardından bu değeri 3 kez yazın. Temelde yaptığım şey bir pikselin kırmızı, yeşil ve mavi değerlerinin ortalamasını almak ve bunun gri eşdeğer pikselini yapmak. Ancak, "bayt bayt" düzeyinde verilere işlem gerçekleştirme hakkında konuştuğunuzda
Veya, belki de bir dosyayı bir veritabanına kaydetmek istersiniz, ancak "ham verilerini" bir blob veri türüne eklemenizi ister. Bu sadece bir dosyanın verilerini veritabanının anlayabileceği ve yönetebileceği büyük bir bayt dizisine dönüştürmek anlamına gelir. Bu değeri veritabanından aldığınızda, başlangıçta veritabanına sağladığınızdan sadece büyük bir bayt dizisi olacağını göreceksiniz. Eğer bu veriler bir dosya ise, o zaman, siz programcı, o dosyayı bir seferde bir byte okuyormuş gibi yeniden yorumlamanız gerekir.
Birisi sizden "4 baytlık verileri tersine çevirmesini" isterse, bunun en büyük veya en küçük anlamlı bayt ile başlayan sayıları yazan, büyük-endian-küçük-endian sayı yorumunu ifade ettiğini varsayardım. Bir sayının büyük harfli veya küçük harfli olarak temsil edilip edilmediği önemli değildir, sadece sayıyı okuyan tüm sistemlerin tutarlı bir şekilde yorumlamaları gerekir.
Bu, gerçek sayı gösteriminin (veya bu konu için onaltılık gösterimin) değiştiği anlamına gelmez, sadece bu 4 baytın sayı yapması sırasının tersine çevrilmesi gerekir. Öyleyse 0x01, 0x02, 0x03 ve 0x04’ünüz olduğunu varsayalım. Bunları tersine çevirmek için 0x04, 0x03, 0x02, 0x01 olur. Sistemin muhtemelen bu 4 baytı ters sırayla okuyacağı ve zaten tersine çevirdiğiniz için, değerin ham verilerde amaçlanan ile aynı olduğu yorumlanır.
Umarım bu açıklar!