#ام_دی_کورس
دانش پایه Exif Data و سعی در ادیت کردن Exif Byte Order عکس با Golang
خب قبل از اینکه بریم سراغ کد نویسی و کاری که میخوایم انجام بدیم باید با یک سری مفاهیم آشنا بشیم :)
💡خب اول از همه Exif data توی عکس ها چی هستند؟
فایلهای EXIF (فرمت فایل تصویری قابل تعویض) دادههای مهم عکسها را ذخیره میکنند. تقریباً همه دوربینهای دیجیتال هر بار که یک عکس جدید میگیرید، این فایلهای داده را ایجاد میکنند. یک فایل EXIF تمام اطلاعات مربوط به خود تصویر را در خود نگه میدارد - مانند سطح نوردهی، جایی که عکس را گرفتهاید و تنظیماتی که استفاده کردهاید.
🪄ما قراره Exif Byte Order را تغییرش بدیم که:
در متا دیتا های عکس مقدار Exif Byte Order دو حالت میتونه باشه: Little-endian و Big-endian که اگر عکس با گوشی اندرویدی گرفته شده باشه احتمالا Little-endian خواهد بود و اگر با گوشی آیفون گرفته شده باشه Big-endian هستش.
📄 تعریف little-endian: یک روش برای ذخیره سازی دادهها در رایانه است که در آن دادهها با توجه به کوچکترین بخش آنها مرتب میشوند. به عبارتی در این روش، بیتهای کم ارزش داده در مقابل بیتهای با ارزش قرار میگیرند. 🔄
برای مثال، عدد ۳۰۰ با فرمت little-endian به این صورت ذخیره میشود: ۰۴۷۶
📄 تعریف big-endian: یک روش برای ذخیره سازی دادهها در رایانه است که در آن دادهها با توجه به بزرگترین بخش آنها مرتب میشوند. به عبارتی در این روش، بیتهای باارزش داده در مقابل بیتهای کمارزش قرار میگیرند. 🔄
برای مثال، عدد ۳۰۰ با فرمت big-endian به این صورت ذخیره میشود: ۷۶۰۴
💎 اما دقیقا endian ها چی هستند و چه کاربردی دارند؟
✨ کاربرد اصلی endian ها در ذخیره سازی اعداد بیشتر برای پردازش رایانهای است. وقتی دادهها به درستی بر اساس endian باشند، برنامهها و سیستمها میتوانند آنها را به درستی تفسیر کنند.
✅ برخی از کاربردهای endian شامل:
- ارتباط بین سیستمهای مختلف: وجود استانداردهای انتقال داده که مشخص میکنند که در رابطه با endian چه روشی استفاده شود، تضمین میکند که اطلاعات به درستی تفسیر میشوند.
- پردازش تصویر و صدا: در برخی فرمتهای تصویری و صوتی، endian میتواند تأثیری در نحوه تفسیر دادهها و کیفیت آنها داشته باشد.
به طور خلاصه با استفاده از endian، سیستمها و برنامهها میتوانند به درستی با یکدیگر ارتباط برقرار کنند و دادهها را به درستی تفسیر کنند.
ادامه در پست بعدی...
🆔 @MdDaily
Post #112
160
- ⚡ 2