نمایش نتایج 1 تا 2 از 2

نام تاپیک: ذخیره ارایه ای از بایت ها به صورت باینری در بانک اطلاعاتی و کاربرد memorystream

  1. #1

    Exclamation ذخیره ارایه ای از بایت ها به صورت باینری در بانک اطلاعاتی و کاربرد memorystream

    با سلام ببخشید من یک سوال داشتم
    چرا برای اینکه تصویری رو به صورت باینری توی بانک اطلاعاتی ذخیره کنیم باید اونو به ارایه بایت تغییر بدیم اصلا بایت و باینری چه رابطه ای با هم دارند
    یا برای اینکه تصویری رو به base64 تبدیل کنیم اول باید به ارایه ای از بایت ها تبدیل کنیم
    و اینکه ایا مموری استریم فایلو به استریم تبدیل می کنه ؟
    خوب تفاوتش با خود استریم چیه ؟چرا نمی شه این کارو با استریم ریدر انجام داد ؟
    امیدورام یکی بتونه این چیزای مبهمو توی ذهنم روشن کنه ممنون

  2. #2
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: ذخیره ارایه ای از بایت ها به صورت باینری در بانک اطلاعاتی و کاربرد memorystream

    1. Binary Data http://en.wikipedia.org/wiki/Binary_data
    داده های باینری یعنی داده هایی که از 0 و 1 تشکیل شدن. بنا به دلایلی، در سیستم های کامپیوتری، اغلب بجای نگه داری داده ها به صورت یک سری 0 و 1(بیت)، اونها رو در واحد های 8 تایی به نام بایت نگه داری میکنن.در این حالت داده باینری به صورت تعدادی بایت در نظر گرفته میشه.
    در زبان های برنامه نویسی هم برای نگه داری اطلاعات یک بایت نوع داده ای مثل byte در #C تعریف میشه.برای نگه داری تعدادی مقدار از یک نوع داده هم، نوع آرایه تعریف میشه.وقتی نوع داده ای که آرایه نگه میداره، byte باشه شما آرایه ای از بایت خواهید داشت که با این امکان شما میتونید در یک زبان برنامه نویسی، داده های باینری رو در حافظه در این قالب آرایه ای از بایت تعریف و نگه داری کنید.
    سیستم های مدیریت دیتابیس هم امکان نگه داری داده باینری رو به صورت تعدادی بایت ارائه میدن.حالا وقتی قراره یک تصویر رو در #C به دیتابیس بفرستید، اون عکس باید در قالب تعدادی بایت ارسال بشه، که در #C عکس باید به صورت آرایه از بایت در بیاد و به دیتابیس فرستاد.واسطی که بین #C و دیتابیس قرار داره، داده ها رو به صورت آرایه از بایت از #C دریافت میکنه و به نوع قابل فهم دیتابیس تبدیل و ارسال میکنه.
    2. Base64 http://en.wikipedia.org/wiki/Base64
    هم که کارش تبدیل داده باینری به رشته و بالعکس هست، داده های باینری رو در همون قالب 8 تایی (byte) در نظر میگیره. بنابرین شما هر داده باینری رو که قرار باشه به رشته base64 تبدیل کنید باید در قالب تعدادی از بایت باشه، بنابراین باید ابتدا تصویر رو به صورت تعدادی بایت (که در #C رایج ترینیش همون آرایه ای از بایت هست) تبدیل کنید...
    3. Stream http://en.wikipedia.org/wiki/Stream_(computing)
    Stream به معنای جریان یا توالی ای از داده ها هست که لزوما همه اونها یکجا آماده نیستن.برای مثال وقتی شما یک FileStream دارین، کل داده ها روی دیسک هست وقتی شما بوسیله Stream شروع به خوندن یک قسمت از فایل میکنید، فقط اون قسمت از فایل، از دیسک به حافظه میاد و در دسترس شما قرار میگیره.در این حالت نیازی نیست که کل فایل یکجا به حافظه بیاد...
    MemoryStream یک نوع Stream هست، که منبع داده ها در خود حافظه هست.وقتی شما داده ای (مثلا آرایه از بایت) در حافظه دارین و در طرف دیگه سیستمی دارین که برای کار نیاز به یک Stream از داده ها داره، شما میتونید داده هاتون رو در قالب یک MemoryStream به اون سیستم بدین.
    StreamReader همونطور که از اسمش پیداست اصلا Stream نیست و زمانی استفاده میشه که شما یک Stream (حالا یا FileStream یا MemoryStream یا هر نوع Stream دیگه) دارین که شامل داده های متنی (به صورت مجموعه ای از بایت) هست و میخواین دادههای این Stream بخونید و به رشته تبدیل کنید.

تاپیک های مشابه

  1. پاسخ: 14
    آخرین پست: جمعه 23 اسفند 1392, 22:28 عصر
  2. سوال: نحوه نمایش فایل word ذخیره شده به صورت base64 در بانک اطلاعاتی
    نوشته شده توسط arezoo_khoshrah در بخش ASP.NET MVC
    پاسخ: 0
    آخرین پست: جمعه 06 دی 1392, 11:05 صبح
  3. پاسخ: 3
    آخرین پست: یک شنبه 25 فروردین 1392, 15:22 عصر
  4. ذخیره تصاویر به صورت اشتباه در بانک اطلاعاتی
    نوشته شده توسط S_O_S1982 در بخش SQL Server
    پاسخ: 1
    آخرین پست: سه شنبه 12 آبان 1388, 12:41 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •