نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی
  • خانه
  • ویندوز 7، XP
  • جدول کد بین المللی ascii. رمزگذاری ASCII (کد استاندارد آمریکایی برای تبادل اطلاعات) - رمزگذاری متن اصلی برای لاتین

جدول کد بین المللی ascii. رمزگذاری ASCII (کد استاندارد آمریکایی برای تبادل اطلاعات) - رمزگذاری متن اصلی برای لاتین

یک کامپیوتر فرآیند تبدیل آن به شکلی را درک می کند که امکان سازماندهی انتقال راحت تر، ذخیره سازی یا پردازش خودکار این داده ها را فراهم می کند. برای این منظور از جداول مختلفی استفاده می شود. رمزگذاری ASCII اولین سیستم توسعه یافته در ایالات متحده برای کار با متن انگلیسی زبان است که متعاقباً در سراسر جهان گسترش یافت. مقاله زیر به شرح، ویژگی ها، خواص و کاربرد بیشتر آن اختصاص دارد.

نمایش و ذخیره اطلاعات در کامپیوتر

نمادها در یک مانیتور رایانه یا یک یا یک ابزار دیجیتالی تلفن همراه دیگر بر اساس مجموعه ای از اشکال برداری از انواع علائم و کدی تشکیل می شوند که به شما امکان می دهد نمادی را که باید در جای مناسب درج شود در بین آنها پیدا کنید. یک سری بیت است. بنابراین، هر کاراکتر باید به طور منحصربه‌فرد با مجموعه‌ای از صفرها و یک‌ها مطابقت داشته باشد که در یک ترتیب خاص و منحصربه‌فرد قرار دارند.

چطور شروع شدند

از نظر تاریخی، اولین کامپیوترها به زبان انگلیسی بودند. برای رمزگذاری اطلاعات نمادین در آنها فقط از 7 بیت حافظه استفاده می شد در حالی که برای این منظور 1 بایت شامل 8 بیت اختصاص داده شد. تعداد نویسه‌هایی که کامپیوتر در این مورد می‌فهمد برابر با 128 کاراکتر بود. تعداد این کاراکترها شامل الفبای انگلیسی با علائم نگارشی، اعداد و برخی کاراکترهای خاص آن بود. کدگذاری هفت بیتی انگلیسی زبان با جدول مربوطه (صفحه کد)، که در سال 1963 توسعه یافت، کد استاندارد آمریکایی برای تبادل اطلاعات نام گرفت. معمولاً از مخفف "ASCII encoding" برای نشان دادن آن استفاده می شد و هنوز هم تا به امروز استفاده می شود.

گذار به چندزبانگی

با گذشت زمان، کامپیوترها به طور گسترده در کشورهای غیر انگلیسی زبان نیز مورد استفاده قرار گرفته اند. در این راستا نیاز به رمزگذاری هایی وجود داشت که امکان استفاده از زبان های ملی را فراهم کند. تصمیم گرفته شد که چرخ را دوباره اختراع نکنیم و ASCII را به عنوان پایه در نظر بگیریم. جدول رمزگذاری در نسخه جدید به طور قابل توجهی گسترش یافته است. استفاده از بیت هشتم امکان ترجمه 256 کاراکتر به زبان کامپیوتر را فراهم کرد.

شرح

کدگذاری اسکی دارای جدولی است که به 2 قسمت تقسیم شده است. فقط نیمه اول به عنوان استاندارد بین المللی پذیرفته شده عمومی در نظر گرفته می شود. آن شامل:

  • کاراکترهایی با اعداد ترتیبی از 0 تا 31، کدگذاری شده توسط دنباله هایی از 00000000 تا 00011111. آنها برای کاراکترهای کنترلی رزرو شده اند که فرآیند نمایش متن روی صفحه یا چاپگر، دادن سیگنال صوتی و غیره را کنترل می کنند.
  • نویسه های دارای NN در جدول از 32 تا 127، کدگذاری شده توسط دنباله های 00100000 تا 01111111، بخش استاندارد جدول را تشکیل می دهند. اینها عبارتند از یک فاصله (N 32)، حروف الفبای لاتین (کوچک و بزرگ)، اعداد ده رقمی از 0 تا 9، علائم نگارشی، براکت های سبک های مختلف و سایر نمادها.
  • نویسه هایی با اعداد ترتیبی از 128 تا 255، کدگذاری شده توسط دنباله هایی از 10000000 تا 11111111. این حروف شامل حروف الفبای ملی به غیر از لاتین است. این قسمت جایگزین جدول است که از رمزگذاری ASCII برای تبدیل کاراکترهای روسی به فرم کامپیوتری استفاده می شود.

برخی از خواص

ویژگی های رمزگذاری ASCII شامل تفاوت بین حروف "A" - "Z" حروف کوچک و بزرگ تنها با یک بیت است. این شرایط تبدیل رجیستر و همچنین بررسی آن را برای تعلق به محدوده تعیین شده از مقادیر بسیار ساده می کند. علاوه بر این، تمام حروف در سیستم رمزگذاری ASCII با اعداد ترتیبی خود در حروف الفبا نشان داده می شوند که در 5 رقم با نماد دودویی نوشته می شوند، قبل از آن 011 2 برای حروف کوچک و 010 2 برای حروف بزرگ نوشته می شود.

از جمله ویژگی های رمزگذاری ASCII می توان نمایش 10 رقم - "0" - "9" را در نظر گرفت. در سیستم اعداد دوم با 00112 شروع و به 2 عدد ختم می شود. به عنوان مثال، 0101 2 معادل اعشاری پنج است، بنابراین کاراکتر "5" به صورت 0011 01012 نوشته می شود. بر این اساس، می توانید BCD ها را به راحتی با افزودن 00112 به هر nibble سمت چپ به یک رشته ASCII تبدیل کنید.

"یونیکد"

همانطور که می دانید برای نمایش متون به زبان های گروه آسیای جنوب شرقی به هزاران کاراکتر نیاز است. چنین تعدادی از آنها به هیچ وجه در یک بایت اطلاعات توصیف نمی شوند، بنابراین حتی نسخه های توسعه یافته ASCII دیگر نمی توانند نیازهای افزایش یافته کاربران از کشورهای مختلف را برآورده کنند.

بنابراین، نیاز به ایجاد یک رمزگذاری متن جهانی، که توسط کنسرسیوم یونیکد با همکاری بسیاری از رهبران صنعت جهانی فناوری اطلاعات ایجاد شد، ایجاد شد. متخصصان آن سیستم UTF 32 را ایجاد کردند که در آن 32 بیت برای رمزگذاری 1 کاراکتر اختصاص داده شد که 4 بایت اطلاعات را تشکیل می داد. اشکال اصلی افزایش شدید مقدار حافظه مورد نیاز تا 4 برابر بود که مشکلات زیادی را به همراه داشت.

در عین حال، برای اکثر کشورهای دارای زبان رسمی متعلق به گروه هند و اروپایی، تعداد کاراکترهای برابر با 232 بیش از حد اضافی است.

در نتیجه کار بیشتر متخصصان کنسرسیوم یونیکد، رمزگذاری UTF-16 ظاهر شد. این به گزینه ای برای تبدیل اطلاعات نمادین تبدیل شد که هم از نظر مقدار حافظه مورد نیاز و هم از نظر تعداد کاراکترهای رمزگذاری شده برای همه مناسب است. به همین دلیل است که UTF-16 به طور پیش فرض پذیرفته شد و نیاز به 2 بایت برای رزرو یک کاراکتر دارد.

حتی این نسخه نسبتاً پیشرفته و موفق "یونیکد" دارای اشکالاتی بود و پس از انتقال از نسخه توسعه یافته ASCII به UTF-16 وزن سند را دو برابر کرد.

در این راستا تصمیم گرفته شد از رمزگذاری طول متغیر UTF-8 استفاده شود. در این حالت، هر کاراکتر متن مبدأ با دنباله ای به طول 1 تا 6 بایت کدگذاری می شود.

ارتباط با کد استاندارد آمریکا برای تبادل اطلاعات

تمام کاراکترهای الفبای لاتین در UTF-8 با طول متغیر در 1 بایت کدگذاری می شوند، مانند سیستم رمزگذاری ASCII.

ویژگی UTP-8 این است که در مورد متنی به زبان لاتین بدون استفاده از کاراکترهای دیگر، حتی برنامه هایی که "یونیکد" را درک نمی کنند، همچنان به شما امکان خواندن آن را می دهند. به عبارت دیگر، بخش اساسی کدگذاری متن ASCII به سادگی در UTF با طول متغیر جدید ادغام می شود. کاراکترهای سیریلیک در UTP-8 2 بایت را اشغال می کنند، و به عنوان مثال، نویسه های گرجی - 3 بایت. ایجاد UTF-16 و 8 مشکل اصلی ایجاد یک فضای کد واحد در فونت ها را حل کرد. از آن زمان، تولیدکنندگان فونت فقط می توانند جدول را با فرم های برداری از کاراکترهای متنی بر اساس نیاز خود پر کنند.

کدگذاری های مختلف در سیستم عامل های مختلف ترجیح داده می شود. برای خواندن و ویرایش متون تایپ شده با کدگذاری متفاوت، از برنامه های تبدیل متن روسی استفاده می شود. برخی از ویرایشگرهای متن حاوی رمزگذارهای داخلی هستند و به شما امکان می دهند بدون توجه به رمزگذاری متن را بخوانید.

اکنون می دانید که چند کاراکتر در ASCII وجود دارد و چگونه و چرا آن را توسعه داده است. البته امروزه رایج ترین استاندارد در دنیا «یونیکد» است. با این حال، نباید فراموش کنیم که بر اساس ASCII ایجاد شده است، بنابراین، باید از مشارکت توسعه دهندگان آن در زمینه فناوری اطلاعات قدردانی شود.

بر اساس گزارش اتحادیه بین المللی مخابرات، در سال 2016، سه و نیم میلیارد نفر از اینترنت با نظم متفاوت استفاده کردند. اکثر آنها حتی به این واقعیت فکر نمی کنند که هر پیامی که از طریق رایانه شخصی یا ابزارهای تلفن همراه ارسال می شود و همچنین متن هایی که در انواع مانیتورها نمایش داده می شوند در واقع ترکیبی از 0 و 1 هستند. این ارائه اطلاعات را رمزگذاری می گویند. . اجرای ذخیره سازی، پردازش و انتقال آن را فراهم می کند و تا حد زیادی تسهیل می کند. در سال 1963، رمزگذاری ASCII آمریکایی توسعه یافت که این مقاله به آن اختصاص دارد.

ارائه اطلاعات در کامپیوتر

از دیدگاه هر کامپیوتر الکترونیکی، متن مجموعه ای از شخصیت های فردی است. این نه تنها حروف، از جمله حروف بزرگ، بلکه علائم نگارشی و اعداد را نیز شامل می شود. علاوه بر این، از کاراکترهای ویژه "="، "&"، "(" و فاصله استفاده می شود.

به مجموعه نمادهایی که متن را تشکیل می دهند الفبا و تعداد آنها را کاردینالیته (که با N نشان داده می شود) می گویند. برای تعریف آن از عبارت N = 2 ^ b استفاده می شود که b تعداد بیت ها یا وزن اطلاعاتی یک کاراکتر خاص است.

ثابت شده است که الفبای با ظرفیت 256 کاراکتر می تواند تمام کاراکترهای لازم را نشان دهد.

از آنجایی که 256 توان هشتم دو است، وزن هر کاراکتر 8 بیت است.

واحد اندازه گیری 8 بیت را 1 بایت می نامند، بنابراین مرسوم است که می گویند هر کاراکتری در متن ذخیره شده در رایانه یک بایت حافظه را اشغال می کند.

کد نویسی چگونه انجام می شود

هر متنی با استفاده از کلیدهای صفحه کلید که روی آن اعداد، حروف، علائم نقطه گذاری و سایر علائم نوشته شده است، وارد حافظه رایانه شخصی می شود. آنها در یک کد باینری به RAM منتقل می شوند، یعنی هر کاراکتر با یک کد اعشاری آشنا برای انسان، از 0 تا 255، که مربوط به یک کد باینری است - از 00000000 تا 11111111 مرتبط است.

رمزگذاری کاراکتر بایت به پردازشگر متن اجازه می دهد تا به هر کاراکتر جداگانه دسترسی داشته باشد. در عین حال، 256 کاراکتر برای نشان دادن هر گونه اطلاعات شخصیت کافی است.

رمزگذاری کاراکتر اسکی

این مخفف در زبان انگلیسی مخفف کد برای تبادل اطلاعات است.

حتی در آغاز کامپیوتری شدن، آشکار شد که می‌توانید راه‌های متنوعی برای رمزگذاری اطلاعات پیدا کنید. با این حال، برای انتقال اطلاعات از یک کامپیوتر به کامپیوتر دیگر، نیاز به توسعه یک استاندارد واحد بود. بنابراین، در سال 1963، یک جدول رمزگذاری ASCII در ایالات متحده ظاهر شد. در آن، هر نمادی از الفبای رایانه با عدد ترتیبی آن در نمایش باینری مرتبط است. در ابتدا ASCII فقط در ایالات متحده مورد استفاده قرار گرفت و بعداً به استاندارد بین المللی رایانه های شخصی تبدیل شد.

کدهای اسکی به 2 قسمت تقسیم می شوند. فقط نیمه اول این جدول استاندارد بین المللی محسوب می شود. این شامل کاراکترهایی با اعداد ترتیبی از 0 (کدگذاری شده با 00000000) تا 127 (کد 01111111) است.

شماره سریال

کدگذاری متن ASCII

نماد

0000 0000 - 0001 1111

کاراکترهایی با N از 0 تا 31 کاراکترهای کنترل نامیده می شوند. عملکرد آنها "هدایت" فرآیند نمایش متن بر روی مانیتور یا دستگاه چاپ، دادن سیگنال صوتی و غیره است.

0010 0000 - 0111 1111

نویسه های N از 32 تا 127 (بخش استاندارد جدول) - حروف بزرگ و کوچک الفبای لاتین، اعداد 10 رقمی، علائم نقطه گذاری، و همچنین براکت های مختلف، علامت های تجاری و دیگر. کاراکتر 32 نشان دهنده یک فاصله است.

1000 0000 - 1111 1111

کاراکترهای با N از 128 تا 255 (بخش جایگزین جدول یا صفحه کد) می توانند انواع مختلفی داشته باشند که هر کدام دارای شماره خاص خود هستند. صفحه کد برای تعیین الفبای ملی متفاوت از لاتین استفاده می شود. به ویژه، با کمک آن است که رمزگذاری ASCII برای شخصیت های روسی انجام می شود.

در جدول رمزگذاری، حروف بزرگ و به ترتیب حروف الفبا یکی پس از دیگری دنبال کنید، و اعداد - به ترتیب صعودی مقادیر. این اصل در مورد الفبای روسی نیز صدق می کند.

شخصیت ها را کنترل کنید

جدول رمزگذاری ASCII در ابتدا برای دریافت و انتقال اطلاعات بر روی چنین دستگاهی که برای مدت طولانی استفاده نشده است، مانند تله تایپ ایجاد شد. در این راستا، کاراکترهای غیر قابل چاپ در مجموعه کاراکترها به عنوان دستورات برای کنترل این دستگاه گنجانده شده است. دستورات مشابهی در روش های پیام رسانی پیش رایانه ای مانند کد مورس و غیره استفاده می شد.

رایج ترین کاراکتر "تله تایپ" NUL (00، "صفر") است. هنوز هم در بیشتر زبان های برنامه نویسی تا به امروز استفاده می شود، که نشان دهنده پایان دهنده خط است.

کدگذاری ASCII کجا استفاده می شود؟

کد استاندارد ایالات متحده برای چیزی بیش از وارد کردن اطلاعات متنی از صفحه کلید مورد نیاز است. در گرافیک نیز کاربرد دارد. به طور خاص، در ASCII Art Maker، تصاویر پسوندهای مختلف طیفی از کاراکترهای ASCII را نشان می‌دهند.

چنین محصولاتی دو نوع هستند: آنها عملکرد ویرایشگرهای گرافیکی را با تبدیل تصاویر به متن و تبدیل "تصاویر" به گرافیک ASCII انجام می دهند. به عنوان مثال، شکلک معروف نمونه اصلی یک کاراکتر رمزگذاری است.

ASCII همچنین می تواند هنگام ایجاد یک سند HTML استفاده شود. در این صورت می توانید مجموعه خاصی از کاراکترها را وارد کنید و هنگام مشاهده صفحه، کاراکتری مطابق با این کد روی صفحه ظاهر می شود.

ASCII همچنین برای ایجاد سایت های چند زبانه ضروری است، زیرا کاراکترهایی که در یک جدول ملی خاص گنجانده نشده اند با کدهای ASCII جایگزین می شوند.

برخی از ویژگی ها

برای رمزگذاری اطلاعات متنی در رمزگذاری ASCII، ابتدا از 7 بیت استفاده می شد (یک بیت خالی بود)، اما امروزه به صورت 8 بیتی کار می کند.

حروف ستون های بالا و پایین تنها یک بیت با یکدیگر تفاوت دارند. این امر پیچیدگی چک را تا حد زیادی کاهش می دهد.

استفاده از اسکی در مایکروسافت آفیس

در صورت لزوم، می توان از این نوع رمزگذاری متن در ویرایشگرهای متنی مایکروسافت مانند Notepad و Office Word استفاده کرد. با این حال، هنگام تایپ در این حالت، استفاده از برخی از توابع امکان پذیر نخواهد بود. به عنوان مثال، شما نمی توانید بولد کنید، زیرا ASCII فقط معنای اطلاعات را حفظ می کند و ظاهر و شکل کلی آن را نادیده می گیرد.

استاندارد سازی

سازمان ISO استانداردهای ISO 8859 را پذیرفته است.این گروه کدگذاری های هشت بیتی را برای گروه های زبانی مختلف تعریف می کند. به طور خاص، ISO 8859-1 Extended ASCII است که جدولی برای ایالات متحده و اروپای غربی است. و ISO 8859-5 جدولی است که برای الفبای سیریلیک از جمله زبان روسی استفاده می شود.

به دلایل تاریخی، استاندارد ISO 8859-5 برای مدت کوتاهی مورد استفاده قرار گرفته است.

برای زبان روسی، در حال حاضر، از رمزگذاری ها استفاده می شود:

  • CP866 (کد صفحه 866) یا DOS،که اغلب به عنوان رمزگذاری جایگزین GOST شناخته می شود. تا اواسط دهه 90 قرن گذشته به طور فعال مورد استفاده قرار گرفت. در حال حاضر عملاً استفاده نمی شود.
  • KOI-8.رمزگذاری در دهه 1970-1980 توسعه یافت و در حال حاضر استانداردی عمومی برای پیام‌های پستی در Runet است. این به طور گسترده در سیستم عامل خانواده یونیکس از جمله لینوکس استفاده می شود. نسخه «روسی» KOI-8 KOI-8R نام دارد. علاوه بر این، نسخه هایی برای سایر زبان های سیریلیک مانند اوکراینی وجود دارد.
  • کد صفحه 1251 (CP 1251، Windows - 1251).توسط مایکروسافت برای ارائه پشتیبانی از زبان روسی در محیط ویندوز توسعه یافته است.

مزیت اصلی اولین استاندارد CP866 حفظ کاراکترهای شبه در موقعیت های مشابه در Extended ASCII بود. این امکان اجرای بدون تغییر برنامه های متنی ساخته شده خارجی مانند نورتون فرمانده را فراهم کرد. در حال حاضر، CP866 برای برنامه های توسعه یافته تحت ویندوز استفاده می شود که در حالت متن تمام صفحه یا در پنجره های متنی از جمله FAR Manager کار می کنند.

متون رایانه ای نوشته شده در رمزگذاری CP866 اخیراً بسیار نادر است، اما دقیقاً این رمزگذاری است که برای نام فایل های روسی در ویندوز استفاده می شود.

"یونیکد"

در حال حاضر، این رمزگذاری است که بیشترین استفاده را داشته است. کدهای یونیکد به مناطق تقسیم می شوند. اولین (U + 0000 تا U + 007F) شامل کاراکترهای ASCII با کد است. پس از آن مناطق نشانه های خط های مختلف ملی و همچنین علائم نگارشی و نمادهای فنی دنبال می شود. علاوه بر این، برخی از کدهای "یونیکد" در صورت نیاز به اضافه کردن کاراکترهای جدید در آینده رزرو می شوند.

اکنون می دانید که در ASCII، هر کاراکتر به صورت ترکیبی از 8 صفر و یک نمایش داده می شود. برای افراد غیر متخصص، این اطلاعات ممکن است غیر ضروری و غیر جالب به نظر برسد، اما آیا نمی خواهید بدانید "در مغز" رایانه شخصی شما چه می گذرد؟

مجموعه کاراکترهایی که متن با آنها نوشته می شود نامیده می شود الفبا.

تعداد حروف الفبای اوست قدرت.

فرمول تعیین میزان اطلاعات: N = 2 b,

که در آن N اصل الفبا (تعداد کاراکترها) است.

ب - تعداد بیت ها (وزن اطلاعاتی کاراکتر).

حروف الفبا با ظرفیت 256 کاراکتر می تواند تقریباً تمام کاراکترهای لازم را در خود جای دهد. این الفبا نامیده می شود کافی

زیرا 256 = 2 8، سپس وزن 1 کاراکتر 8 بیت است.

واحد 8 بیتی نامگذاری شد 1 بایت:

1 بایت = 8 بیت.

کد باینری هر کاراکتر در متن کامپیوتر 1 بایت حافظه اشغال می کند.

اطلاعات متنی چگونه در حافظه کامپیوتر نمایش داده می شود؟

راحتی رمزگذاری بایت کاراکترها واضح است، زیرا یک بایت کوچکترین بخش آدرس پذیر حافظه است و بنابراین، پردازنده می تواند به هر کاراکتر جداگانه دسترسی داشته باشد و پردازش متن را انجام دهد. از سوی دیگر، 256 کاراکتر برای نشان دادن طیف گسترده ای از اطلاعات کاراکترها، عددی کاملاً کافی است.

حال این سوال پیش می آید که چه نوع کد باینری هشت بیتی را به هر کاراکتر مرتبط کنیم.

واضح است که این یک موضوع مشروط است، شما می توانید بسیاری از روش های رمزگذاری را ارائه دهید.

همه کاراکترهای الفبای کامپیوتر از 0 تا 255 شماره گذاری می شوند. هر عدد مربوط به یک کد باینری هشت بیتی از 00000000 تا 11111111 است. این کد به سادگی عدد ترتیبی کاراکتر در سیستم اعداد باینری است.

جدولی که در آن به تمام کاراکترهای الفبای کامپیوتر شماره سریال اختصاص داده می شود، جدول رمزگذاری نامیده می شود.

جداول کدگذاری متفاوتی برای انواع مختلف کامپیوترها استفاده می شود.

استاندارد بین المللی رایانه شخصی به جدول تبدیل شده است ASCII(بخوانید asci) (کد استاندارد آمریکایی برای تبادل اطلاعات).

جدول ASCII به دو بخش تقسیم می شود.

استاندارد بین المللی فقط نیمه اول جدول است، یعنی. نمادها با اعداد از 0 (00000000)، تا 127 (01111111).

ساختار جدول کدگذاری اسکی

شماره سریال

کد

نماد

0 - 31

00000000 - 00011111

نمادهایی با اعداد از 0 تا 31 معمولاً کاراکترهای کنترل نامیده می شوند.
عملکرد آنها کنترل فرآیند نمایش متن روی صفحه یا چاپ، دادن سیگنال صوتی، علامت گذاری متن و غیره است.

32 - 127

00100000 - 01111111

قسمت استاندارد جدول (انگلیسی). این شامل حروف کوچک و بزرگ الفبای لاتین، اعداد اعشاری، علائم نقطه گذاری، انواع براکت ها، علامت های تجاری و سایر نمادها است.
کاراکتر 32 یک فضا است، یعنی. جای خالی در متن
همه موارد دیگر در علائم خاصی منعکس می شوند.

128 - 255

10000000 - 11111111

قسمت جایگزین جدول (روسی).
نیمه دوم جدول کد ASCII که صفحه کد نامیده می شود (128 کد، از 10000000 شروع می شود و با 11111111 ختم می شود)، می تواند انواع مختلفی داشته باشد، هر گونه شماره خود را دارد.
صفحه کد در درجه اول برای قرار دادن الفبای ملی به غیر از لاتین استفاده می شود. در رمزگذاری های ملی روسیه، این قسمت از جدول حاوی نمادهای الفبای روسی است.

نیمه اول جدول ASCII


توجه شما را به این نکته جلب می کنم که در جدول رمزگذاری حروف (بزرگ و کوچک) به ترتیب حروف الفبا و اعداد به ترتیب مقادیر به صورت صعودی مرتب شده اند. به این رعایت نظم واژگانی در چینش حروف، اصل رمزگذاری ترتیبی الفبا می گویند.

برای حروف الفبای روسی، اصل کدگذاری متوالی نیز رعایت می شود.

نیمه دوم جدول ASCII


متأسفانه، در حال حاضر پنج رمزگذاری سیریلیک مختلف (KOI8-R، Windows. MS-DOS، Macintosh و ISO) وجود دارد. به همین دلیل، اغلب با انتقال متن روسی از یک رایانه به رایانه دیگر، از یک سیستم نرم افزاری به سیستم دیگر، مشکلاتی ایجاد می شود.

از نظر زمانی، یکی از اولین استانداردها برای رمزگذاری حروف روسی در رایانه، KOI8 ("کد تبادل اطلاعات، 8 بیت") بود. این رمزگذاری در دهه 70 در رایانه های سری رایانه های ES مورد استفاده قرار گرفت و از اواسط دهه 80 در اولین نسخه های روسی شده سیستم عامل یونیکس استفاده شد.

از ابتدای دهه 90، زمان تسلط سیستم عامل MS DOS، رمزگذاری CP866 باقی می ماند ("CP" مخفف "Code Page" است).

کامپیوترهای اپل که سیستم عامل مک را دارند از کدگذاری مک خود استفاده می کنند.

علاوه بر این، سازمان بین المللی استاندارد (سازمان بین المللی استاندارد، ISO) کدگذاری دیگری به نام ISO 8859-5 را به عنوان استاندارد برای زبان روسی تأیید کرد.

در حال حاضر رایج ترین رمزگذاری مایکروسافت ویندوز است که به اختصار CP1251 نامیده می شود.

از اواخر دهه 90، مشکل استانداردسازی کدنویسی کاراکترها با معرفی یک استاندارد بین المللی جدید به نام حل شد. یونیکد... این یک رمزگذاری 16 بیتی است. برای هر کاراکتر 2 بایت حافظه اختصاص می دهد. البته این میزان حافظه استفاده شده را دو برابر می کند. اما از طرف دیگر، چنین جدول کدی امکان گنجاندن حداکثر 65536 کاراکتر را فراهم می کند. مشخصات کامل استاندارد یونیکد شامل تمام الفبای موجود، منقرض شده و مصنوعی جهان و همچنین بسیاری از نمادهای ریاضی، موسیقایی، شیمیایی و غیره است.

بیایید سعی کنیم از جدول ASCII استفاده کنیم تا تصور کنیم کلمات در حافظه کامپیوتر چگونه به نظر می رسند.

نمایش داخلی کلمات در حافظه کامپیوتر

گاهی اوقات اتفاق می افتد که متنی متشکل از حروف الفبای روسی که از رایانه دیگری دریافت شده است، قابل خواندن نیست - نوعی "بیهوده" روی صفحه نمایش مانیتور قابل مشاهده است. این به دلیل این واقعیت است که رایانه ها از رمزگذاری متفاوتی از شخصیت های زبان روسی استفاده می کنند.

نمادهای همپوشانی

کاراکتر BS (backspace) به چاپگر اجازه می دهد تا یک کاراکتر را بازنویسی کند. در ASCII، برای اضافه کردن نشانه‌ها به حروف به این روش پیش بینی شده بود، به عنوان مثال:

  • a BS "→ á
  • یک BS `→ à
  • یک BS ^ → â
  • o BS / → ø
  • c BS، → ç
  • n BS ~ → ñ

توجه داشته باشید: در فونت‌های قدیمی، آپاستروف "با یک مایل به سمت چپ کشیده می‌شد و تایلد ~ به سمت بالا منتقل می‌شد، به طوری که آنها فقط نقش حاد و تار را در بالا قرار می‌دادند.

اگر همان علامت روی یک کاراکتر قرار گیرد، اثر یک فونت درشت به دست می‌آید و اگر زیرخط روی کاراکتر قرار گیرد، متن خط‌دار به دست می‌آید.

  • یک BS a → آ
  • یک BS _ → آ

توجه داشته باشید: برای مثال در سیستم man help استفاده می شود.

انواع ملی ASCII

استاندارد ISO 646 (ECMA-6) امکان قرار دادن کاراکترهای ملی را در جای خود فراهم می کند @ [ \ ] ^ ` { | } ~ ... علاوه بر این، در محل # می توان جای داد £ ، و در جای خود $ - ¤ ... این سیستم برای زبان های اروپایی که تنها به چند کاراکتر اضافی نیاز دارند، مناسب است. نسخه ASCII بدون کاراکترهای ملی US-ASCII یا "نسخه مرجع بین المللی" نامیده می شود.

متعاقباً، استفاده از رمزگذاری های 8 بیتی (صفحات کد) راحت تر است، جایی که نیمه پایین جدول کد (0-127) توسط نویسه های US-ASCII و نیمه بالایی (128-255) اشغال شده است. توسط شخصیت های اضافی، از جمله مجموعه ای از شخصیت های ملی اشغال شده است. بنابراین، نیمه بالایی جدول ASCII، قبل از پذیرش گسترده یونیکد، به طور فعال برای نشان دادن کاراکترهای محلی، حروف زبان محلی استفاده می شد. فقدان استاندارد یکپارچه برای قرار دادن کاراکترهای سیریلیک در جدول ASCII باعث ایجاد مشکلات زیادی در رمزگذاری (KOI-8، Windows-1251، و غیره) شد. زبان های دیگر با خط غیر لاتین نیز از وجود چندین رمزگذاری مختلف رنج می برند.

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .C .D .E .F
0. NUL SOM EOA EOM EQT WRU RU BELL BKSP Ht LF VT FF CR بنابراین SI
1. DC 0 DC 1 DC 2 DC 3 DC 4 ERR همگام سازی LEM S 0 S 1 S 2 S 3 S 4 S 5 S 6 S 7
2.
3.
4. جای خالی ! " # $ % & " ( ) * + , - . /
5. 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
6.
7.
8.
9.
آ. @ آ ب سی دی E اف جی اچ من جی ک L م ن O
ب. پ س آر اس تی U V دبلیو ایکس Y ز [ \ ]
سی.
دی
E. آ ب ج د ه f g ساعت من j ک ل متر n o
اف. پ q r س تی تو v w ایکس y z خروج DEL

در رایانه هایی که حداقل واحد آدرس پذیر حافظه یک کلمه 36 بیتی بود، ابتدا از کاراکترهای 6 بیتی استفاده می شد (1 کلمه = 6 کاراکتر). پس از انتقال به ASCII در چنین رایانه هایی، آنها شروع به قرار دادن 5 کاراکتر هفت بیتی در یک کلمه کردند (1 بیت اضافی باقی ماند)، یا 4 کاراکتر نه بیتی.

همچنین از کدهای اسکی برای شناسایی کلید فشرده شده در حین برنامه نویسی استفاده می شود. برای یک صفحه کلید استاندارد QWERTY، جدول کد به صورت زیر است:

[کدهای 8 بیتی: ASCII، KOI-8R و CP1251] اولین جداول مجموعه حروف ایجاد شده در ایالات متحده از بیت هشتم در یک بایت استفاده نمی کردند. متن به عنوان دنباله ای از بایت ها ارائه شد، اما بیت هشتم در نظر گرفته نشد (برای اهداف خدماتی استفاده شد).

استاندارد عمومی پذیرفته شده به جدول تبدیل شده است ASCII(کد استاندارد آمریکایی برای تبادل اطلاعات). 32 کاراکتر ASCII اول (00 تا 1F) برای کاراکترهای غیر قابل چاپ استفاده شد. آنها برای کنترل دستگاه چاپ و موارد مشابه طراحی شده بودند. بقیه - از 20 تا 7F - کاراکترهای معمولی (قابل چاپ) هستند.

جدول 1 - رمزگذاری ASCII

دسامبرهگزاکتبرCharشرح
0 0 000 خالی
1 1 001 شروع سرفصل
2 2 002 شروع متن
3 3 003 انتهای متن
4 4 004 پایان انتقال
5 5 005 استعلام
6 6 006 اذعان
7 7 007 زنگ
8 8 010 بک اسپیس
9 9 011 زبانه افقی
10 آ 012 خط جدید
11 ب 013 زبانه عمودی
12 سی 014 صفحه جدید
13 دی 015 برگشت محموله
14 E 016 جابجا کردن
15 اف 017 جابجایی در
16 10 020 فرار لینک داده
17 11 021 کنترل دستگاه 1
18 12 022 کنترل دستگاه 2
19 13 023 کنترل دستگاه 3
20 14 024 کنترل دستگاه 4
21 15 025 تصدیق منفی
22 16 026 بیکار همزمان
23 17 027 پایان ترانس مسدود کردن
24 18 030 لغو
25 19 031 پایان متوسط
26 1A 032 جایگزین
27 1B 033 در رفتن
28 1C 034 جداکننده فایل
29 1D 035 جداکننده گروه
30 1E 036 جداکننده رکورد
31 1F 037 جداکننده واحد
32 20 040 فضا
33 21 041 !
34 22 042 "
35 23 043 #
36 24 044 $
37 25 045 %
38 26 046 &
39 27 047 "
40 28 050 (
41 29 051 )
42 2A 052 *
43 2B 053 +
44 2C 054 ,
45 2 بعدی 055 -
46 2E 056 .
47 2F 057 /
48 30 060 0
49 31 061 1
50 32 062 2
51 33 063 3
52 34 064 4
53 35 065 5
54 36 066 6
55 37 067 7
56 38 070 8
57 39 071 9
58 3A 072 :
59 3B 073 ;
60 3C 074 <
61 سه بعدی 075 =
62 3E 076 >
63 3F 077 ?
دسامبرهگزاکتبرChar
64 40 100 @
65 41 101 آ
66 42 102 ب
67 43 103 سی
68 44 104 دی
69 45 105 E
70 46 106 اف
71 47 107 جی
72 48 110 اچ
73 49 111 من
74 4A 112 جی
75 4B 113 ک
76 4C 114 L
77 4 بعدی 115 م
78 4E 116 ن
79 4F 117 O
80 50 120 پ
81 51 121 س
82 52 122 آر
83 53 123 اس
84 54 124 تی
85 55 125 U
86 56 126 V
87 57 127 دبلیو
88 58 130 ایکس
89 59 131 Y
90 5A 132 ز
91 5B 133 [
92 5C 134 \
93 5 بعدی 135 ]
94 5E 136 ^
95 5F 137 _
96 60 140 `
97 61 141 آ
98 62 142 ب
99 63 143 ج
100 64 144 د
101 65 145 ه
102 66 146 f
103 67 147 g
104 68 150 ساعت
105 69 151 من
106 6A 152 j
107 6B 153 ک
108 6C 154 ل
109 6 بعدی 155 متر
110 6E 156 n
111 6F 157 o
112 70 160 پ
113 71 161 q
114 72 162 r
115 73 163 س
116 74 164 تی
117 75 165 تو
118 76 166 v
119 77 167 w
120 78 170 ایکس
121 79 171 y
122 7A 172 z
123 7B 173 {
124 7C 174 |
125 7D 175 }
126 7E 176 ~
127 7F 177 DEL

همانطور که به راحتی می توانید ببینید، این رمزگذاری فقط شامل حروف لاتین و آنهایی است که در زبان انگلیسی استفاده می شود. نمادهای حسابی و دیگر خدمات نیز وجود دارد. اما هیچ حروف روسی یا حتی حروف لاتین خاص برای آلمانی یا فرانسوی وجود ندارد. توضیح این امر آسان است - رمزگذاری به طور خاص به عنوان یک استاندارد آمریکایی توسعه داده شده است. هنگامی که کامپیوترها در سراسر جهان شروع به استفاده کردند، رمزگذاری نمادهای دیگر ضروری شد.

برای این کار تصمیم گرفته شد که در هر بایت از بیت هشتم استفاده شود. بنابراین، 128 مقدار بیشتر (از 80 تا FF) در دسترس بود که می‌توان از آنها برای رمزگذاری کاراکترها استفاده کرد. اولین جدول از جدول های هشت بیتی "ASCII توسعه یافته" است ( ASCII توسعه یافته) - شامل انواع مختلفی از حروف لاتین است که در برخی از زبان های اروپای غربی استفاده می شود. همچنین حاوی نمادهای اضافی دیگری از جمله شبه گرافیک بود.

کاراکترهای شبه گرافیکی، با نمایش تنها کاراکترهای متنی، اجازه می دهند تا ظاهری از گرافیک ارائه دهند. به عنوان مثال، برنامه مدیریت فایل ها FAR Manager با کمک شبه گرافیک کار می کند.

هیچ حرف روسی در جدول Extended ASCII وجود نداشت. در روسیه (سابق اتحاد جماهیر شوروی سابق) و در سایر ایالت ها، رمزگذاری های خاص آنها ایجاد شد که امکان نمایش شخصیت های "ملی" خاص را در فایل های متنی 8 بیتی - حروف لاتین زبان های لهستانی و چکی، سیریلیک (از جمله حروف روسی) فراهم کرد. ) و الفبای دیگر.

در تمام رمزگذاری هایی که گسترده شده اند، 127 کاراکتر اول (یعنی مقادیر بایت با بیت هشتم برابر با 0) با ASCII منطبق است. بنابراین، یک فایل ASCII در هر یک از این کدگذاری ها کار می کند. حروف زبان انگلیسی نیز به همین ترتیب نمایش داده می شوند.

سازمان ISO(سازمان بین المللی استاندارد) مجموعه ای از استانداردها را پذیرفت ISO 8859... رمزگذاری های 8 بیتی را برای گروه های مختلف زبان ها تعریف می کند. بنابراین، ISO 8859-1 Extended ASCII است، جدولی برای ایالات متحده و اروپای غربی. و ISO 8859-5 جدولی برای سیریلیک (از جمله روسی) است.

با این حال، به دلایل تاریخی، کدگذاری ISO 8859-5 مورد توجه قرار نگرفته است. در واقع، رمزگذاری های زیر برای زبان روسی استفاده می شود:

کد صفحه 866 ( CP866، با نام مستعار "DOS"، با نام مستعار "رمزگذاری GOST جایگزین". تا اواسط دهه 90 به طور گسترده مورد استفاده قرار گرفت. اکنون به میزان محدودی استفاده می شود. عملاً برای توزیع متون در اینترنت استفاده نمی شود.
- KOI-8. در دهه 70 و 80 توسعه یافت. این یک استاندارد عمومی پذیرفته شده برای انتقال پیام های پستی در اینترنت روسیه است. همچنین به طور گسترده در سیستم عامل های خانواده یونیکس از جمله لینوکس استفاده می شود. نسخه KOI-8، طراحی شده برای زبان روسی، نامیده می شود KOI-8R; نسخه هایی برای سایر زبان های سیریلیک وجود دارد (به عنوان مثال، KOI8-U گزینه ای برای زبان اوکراینی است).
- کد صفحه 1251، CP1251، Windows-1251. توسط مایکروسافت برای پشتیبانی از زبان روسی در ویندوز توسعه یافته است.

مزیت اصلی CP866 حفظ کاراکترهای شبه گرافیکی در همان مکان‌هایی بود که در Extended ASCII وجود داشت. بنابراین، برنامه های متنی خارجی، به عنوان مثال، فرمانده معروف نورتون، می توانند بدون تغییر کار کنند. امروزه CP866 برای برنامه های ویندوزی که در پنجره های متنی یا حالت متنی تمام صفحه اجرا می شوند، از جمله FAR Manager استفاده می شود.

در سال های اخیر، متون در CP866 بسیار نادر هستند (اما برای رمزگذاری نام فایل های روسی در ویندوز استفاده می شود). بنابراین، ما با جزئیات بیشتری در مورد دو رمزگذاری دیگر - KOI-8R و CP1251 صحبت خواهیم کرد.



همانطور که می بینید، در جدول رمزگذاری CP1251، حروف روسی به ترتیب حروف الفبا مرتب شده اند (به جز حرف E). این ترتیب مرتب سازی بر اساس حروف الفبا را برای برنامه های کامپیوتری بسیار آسان می کند.

اما در KOI-8R ترتیب حروف روسی تصادفی به نظر می رسد. اما در واقع اینطور نیست.

بسیاری از برنامه های قدیمی بیت هشتم را هنگام پردازش یا انتقال متن از دست دادند. (اکنون چنین برنامه هایی عملا "مرده" شده اند، اما در اواخر دهه 80 - اوایل دهه 90 آنها گسترده بودند). برای به دست آوردن یک مقدار 7 بیتی از یک مقدار 8 بیتی، 8 را از مهم ترین رقم کم کنید. به عنوان مثال E1 می شود 61.

اکنون KOI-8R را با جدول ASCII مقایسه کنید (جدول 1). متوجه خواهید شد که حروف روسی به وضوح با حروف لاتین همسو هستند. اگر بیت هشتم ناپدید شود، حروف کوچک روسی به حروف لاتین بزرگ و حروف بزرگ روسی به حروف کوچک لاتین تبدیل می شوند. بنابراین، E1 در KOI-8 روسی "A" است، در حالی که 61 در ASCII لاتین "a" است.

بنابراین، KOI-8 به شما امکان می دهد تا خوانایی متن روسی را در حالی که بیت هشتم را از دست می دهید، حفظ کنید. "سلام به همه" به "pRIWET WSEM" تبدیل می شود.

اخیراً هم ترتیب حروف الفبای کاراکترها در جدول رمزگذاری و هم خوانایی با از دست دادن بیت هشتم اهمیت تعیین کننده خود را از دست داده اند. بیت هشتم در رایانه های مدرن چه در حین انتقال و چه در پردازش از بین نمی رود. مرتب‌سازی به ترتیب حروف الفبا بر اساس رمزگذاری است و نه با مقایسه ساده کدها. (به هر حال، کدهای CP1251 کاملاً حروف الفبا نیستند - حرف E در جای خود نیست).

با توجه به این واقعیت که دو رمزگذاری رایج وجود دارد، هنگام کار با اینترنت (ایمیل، مرور وب سایت ها)، گاهی اوقات می توانید مجموعه ای بی معنی از حروف را به جای متن روسی مشاهده کنید. به عنوان مثال، "من SBUFEMHEL هستم". اینها فقط عبارت "با احترام" هستند. اما آنها در رمزگذاری CP1251 کدگذاری شدند و کامپیوتر متن را مطابق جدول KOI-8 رمزگشایی کرد. اگر همان کلمات، برعکس، در KOI-8 رمزگذاری شده باشند، و کامپیوتر متن را مطابق جدول CP1251 رمزگشایی کند، نتیجه "У ХЧБЦЕОЙЕН" خواهد بود.

گاهی اوقات اتفاق می افتد که رایانه حروف روسی را بر اساس جدولی که برای زبان روسی در نظر گرفته نشده است، رمزگشایی می کند. سپس، به جای حروف روسی، مجموعه ای از نمادها بی معنی ظاهر می شود (به عنوان مثال، حروف لاتین زبان های اروپای شرقی). آنها اغلب "crocozyabras" نامیده می شوند.

در بیشتر موارد، برنامه های مدرن به تنهایی با تعیین رمزگذاری اسناد اینترنتی (ایمیل ها و صفحات وب) مقابله می کنند. اما گاهی اوقات آنها "اشتباه" می کنند و سپس می توانید دنباله های عجیبی از حروف روسی یا "krokozyabra" را ببینید. به عنوان یک قاعده، برای نمایش متن واقعی روی صفحه، کافی است کدگذاری را به صورت دستی در منوی برنامه انتخاب کنید.

برای مقاله از اطلاعات صفحه http://open-office.edusite.ru/TextProcessor/p5aa1.html استفاده شد.

مطالب برگرفته از سایت:

مقالات مرتبط برتر