خاطرات یک برنامه نویس : زندگی قبل از یونیکد
خاطرات یک برنامه نویس : زندگی قبل از یونیکد
یونیکد قطعاً پیچیدگی زیادی را به کار با رشته اضافه کرده است و افرادی که از زبانهایی با الفبای ASCII استفاده می کنند ممکن است تصور کنند که این توجیه ندارد. با این حال ، من یک گوینده غیر ASCII هستم که به اندازه کافی سن دارم که گزینه های جایگزین را به خاطر بسپارم ، و گزینه های جایگزین بسیار بدتر از پیچیدگی Unicode هستند.
برای ثبت ، من در اوایل سال 2000 در روسیه با رایانه شروع به کار کردم. زبان روسی از الفبایی بر اساس خط سیریلیک استفاده می کند. از نظر زبانهای غیر ASCII ، نسبتاً ساده است: 33 حرف ، هر کدام دارای نسخه های بزرگ و کوچک هستند و تبدیل حروف بزرگ/کوچک معکوس است. از آنجا که فقط 33 حرف دارد ، می توانید آن را در رمزگذاری 8 بیتی قرار دهید و هنوز جایی برای کاغذهای کاذب داشته باشید.
نکته مهم این است که ، برای مدتی ، زبان روسی دارای سه رمزگذاری تقریباً یکسان بود.یکی از دلایل آن تاریخ پیچیده اتحاد جماهیر شوروی و محاسبات است-از بقیه جهان جدا شده است و همه سازمان هایی که سخت افزار و نرم افزار رایانه تولید می کردند متعلق به دولت بودند ، بنابراین می توانند استانداردی را به آنها تحمیل کنند. با فروپاشی اتحاد جماهیر شوروی ، بازار به سرعت تحت کنترل سخت افزار و نرم افزار غربی قرار گرفت. زیرا هیچ کس دیگر سخت افزارهای اتحاد جماهیر شوروی را تولید نمی کرد.
سیستم های شوروی قدیم بیشتر از کدگذاری به نام KOI8-R استفاده می کردند. KOI کد تبادل اطلاعات است ، 8 به معنای 8 بیت است و R به معنای روسی است (نسخه اوکراینی به نام KOI8-U نیز وجود دارد ، الفبای اوکراینی از روسی متمایز است). این رمزگذاری ، به بیان مودبانه ، خفیف دیوانه کننده است: طوری طراحی شده است که حذف بیت هشتم از آن باعث می شود تا حدی از ASCII برای ترجمه الفبای روسی بخوانید ، بنابراین حروف روسی به ترتیب معمول خود نمی آیند.DOS از CP866 استفاده می کند. نسبتاً دیوانه کننده نیست ، ترتیب حروف را حفظ می کند و چند زبان را با حروف سیریلیک پوشش می دهد.
وقتی ویندوز آمد چه شد؟ مایکروسافت رمزگذاری جدیدی با نام Windows-1251 ایجاد کرد.آیا آنها کدگذاری یکپارچه را برای فایل های قدیمی از DOS اضافه کردند؟ البته که نه! نسخه روسی ویندوز از دو رمزگذاری متفاوت استفاده می کرد: قطعات بومی ویندوز از Windows-1251 استفاده می کردند ، در حالی که زیر سیستم DOS هنوز از CP866 استفاده می کرد. اگر وظیفه برنامه نویسی خود را در Turbo Pascal5 تایپ کرده و هر گونه نظری به زبان روسی بنویسید ، نمی توانید آن را در notepad.exe برای چاپ باز کنید – نظرات ناخوانا می شود.بنابراین ، همه چیز بدون اینترنت به اندازه کافی بد بود ، اما وقتی اتصال به اینترنت شروع به دسترسی بیشتر کرد ، اوضاع بسیار بدتر شد زیرا شما حتی نمی دانستید که یک فایل در اصل از چه سیستم عاملی است.علاوه بر این ، اینترنت بر روی سیستم های مشابه UNIX اجرا می شود.
سخت افزار اختصاصی UNIX (Sun ، HP و غیره) برای اکثر شرکت ها بسیار گران بود و رشد سریع اینترنت در روسیه همزمان با رشد سریع استفاده از نرم افزار منبع باز بود ، بنابراین در عمل یونیکس شبیه FreeBSD و لینوکس بود. این بدان معنی است که ما می توانیم این واقعیت را نادیده بگیریم که سیستم های اختصاصی UNIX از ISO 8859-5 استفاده می کردند-این واقعیت بر یک فرد معمولی تأثیر نمی گذارد. فقط گزینه های کدگذاری سیستم های رایگان و منبع باز چنین شد.
FreeBSD و لینوکس از… KOI8-R ، رمزگذاری اتحاد جماهیر شوروی استفاده می کردند. 6 دلیل اصلی این است که سیستم های قدیمی یونیکس اتحاد جماهیر شوروی از آن استفاده می کردند . به عنوان مثال DEMOS ، و هنگامی که نصب های قدیمی به سیستم عامل های جدید مهاجرت می کردند ، احتمالاً یک انتخاب طبیعی بود. علاوه بر این ، KOI8-R از مایکروسافت نبود. لینوکس مدت طولانی از Windows-1251 پشتیبانی می کرد ، اما ندیدم کسی از آن استفاده کند-به طور پیش فرض KOI8-R بود و همه با آن همراه بودند (هر چند من به محض تبدیل شدن به یک گزینه به یونیکد تغییر کرد).
بنابراین ، در اواخر دهه 90 شرایطی پیش آمد که اکثر سرورهای وب ، ایمیل یا IRC از سیستم عامل های مشابه UNIX با KOI8-R استفاده می کردند ، در حالی که اکثر ایستگاه های کاری از Windows با Windows-1251 استفاده می کردند. این باعث شده است که رمزنگاری رمزگذاری بخشی از زندگی روزمره اکثر کاربران اینترنت باشد.
مردم برای ردیابی و رمزگذاری رمزگشایی اکتشافی برنامه هایی مانند رمزگشایی ایمیل آرتمی لبدف و Shtirlitz ووسولود لوکیانین نوشتند.
از قضا ، تلاش برای اجرای ( Shtirlitz یا هر برنامه دیگر ویندوز با متن Windows-1251 پخته شده) بر روی سیستمی که بدون پشتیبانی از Windows-1251 ارائه می شود ، همین مشکل را با متن نامرتب ایجاد می کند که باید حل می شد. این یک مشکل ReactOS نیست – در صورتی که پشتیبانی از زبان روسی نصب نشده باشد ، در Microsoft Windows همین مشکل را خواهید داشت.
صحبت از ویندوز ، نصب درایوهای ویندوز بر روی لینوکس چالش های خاص خود را داشت. اگر از KOI8 -R در سیستم لینوکس استفاده می کردید ، اگر می خواهید نام فایل های روسی قابل خواندن باشد ، باید به یاد داشته باشید که -o iocharset = cp1251 را مشخص کنید.
مرورگرهای وب نیز مدتی تشخیص رمزگذاری نداشتند ، بنابراین اکثر وب سایت ها چندین نسخه در رمزگذاری های مختلف ارائه می دادند.از آنجا که نمی توانید روی خوانایی فوری متن معمولی در مرورگر وب بیننده حساب کنید ، باید توضیحات وب سایت و کدگذاری منوی انتخاب را ارائه دهید. در قالب تصاویرهنگام شروع به مرور و ایجاد وب سایت ها ، رمزگذاری وب سایت با تشخیص خودکار یک مشکل حل شد ، بنابراین من فقط منوهای کدگذاری را در وب سایت هایی دیدم که حتی در اوایل سال 2000 قدیمی بودند.با این حال ، IRC این مشکل را برای مدت طولانی تری داشت. پروتکل IRC هیچ تصوری از کدگذاری ندارد ، همه چیز یک بایت به آن جریان دارد. شبکه IRC RUSNet دارای یک IRCd اصلاح شده با قابلیت کدگذاری خودکار بود و از درگاه های مختلف برای مشتریان با رمزگذاری های مختلف استفاده می کرد.
آنها در دستورالعمل های اتصال به تنظیمات پورت بسیار برجسته اشاره کردند ، اما مبتدیان آن را دائماً بهم می ریختند و در نهایت پیامهای ناخوانا را به کانال ها ارسال می کردند. کاربران با تجربه یاد گرفتند که مسائل رایج رمزگذاری را به صورت بصری تشخیص دهند و برخی حتی می توانند در رمزگذاری قابل خواندن برای مبتدی بدشانس پاسخ دهند (هرچند اکثر آنها به سادگی پیوندی را به بخش آموزش مربوطه ارسال کردند).
بدیهی است ، از برنده شدن یونیکد بسیار خوشحالم زیرا هیچ یک از این مشکلات در دنیای یونیکد وجود ندارد.
1. عمدتا توسط نسخه های سرقت شده از آن نرم افزار ، زیرا هیچ کس به هر حال پولی برای پرداخت مجوزها نداشت و تأیید حق چاپ در دهه 90 تقریباً وجود نداشت.
2. این سخت افزار بیش از حد قدیمی بود تا بتواند در هر صورت تولید خود را ادامه دهد و در بازار آزاد کامل نشد.
3. سخت افزار اپل در آن زمان تقریباً در روسیه وجود نداشت ، زیرا هنوز قیمت آن بسیار بالا است.
4. البته کلون های اصلی 4IBM (ES EVM) از EBCDIC استفاده می کردند.
5. که یک برنامه DOS است.
6. شواهد نهایی که منبع باز مانند کمونیسم است.
7. نام قهرمان هفده لحظه بهار – مجموعه تلویزیونی فرقه ای درباره جاسوسی تخیلی شوروی که در آلمان نازی کار می کرد.