با سلام
در این تابع دو ورودی مشخص شده که یکی رشته ای هست که متد دریافت می کند و encoding که یونیکد و استاندارد کردن است که یونیکد خروجی رو مشخص کرده و اگر حروف فارسی درونش باشه باید از UTF8 استفاده کنید
یک List از نوع بایت تعریف کرده که اگر حلقه رو جدول درستی رو بکشید خروجی حلقه یک کد اسکی است
در حلقه میبینید گام حلقه روی 8 تنظیم شده
هر بایت شامل 8 بیت هست
در کد باینری هر 8 کاراکتر یک کد اسکی حساب میشود
حالا چطور؟
قبول داریم که کد اسکی حرف A عدد 65 هست خب 65 به باینری می شود 1000001 (که می تونید از راه کنکوری این عدد رو بدست بیارید) به هر حال چون باید 8 کاراکتر باشه قبلش یک 0 میزاریم که میشود 01000001
که اگر به تابع بدید می شود: A
MessageBox.Show(BinaryToString("01000001", Encoding.UTF8));

نمیدونم خوب تونستم مفهوم رو برسونم یا نه
موفق باشید