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

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

[کدهای 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 استفاده شد.

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

با سلام خدمت خوانندگان عزیز سایت وبلاگ. امروز با شما در مورد اینکه کراکوزیابرها از کجا در سایت و برنامه ها آمده اند، کدگذاری متنی وجود دارد و کدام یک باید استفاده شود، صحبت خواهیم کرد. بیایید نگاهی دقیق‌تر به تاریخچه توسعه آنها بیندازیم، از ASCII پایه، و همچنین نسخه‌های توسعه‌یافته آن CP866، KOI8-R، Windows 1251 و پایان دادن به رمزگذاری‌های مدرن کنسرسیوم یونیکد UTF 16 و 8.

برای برخی، این اطلاعات ممکن است اضافی به نظر برسد، اما می‌دانید که من در مورد کراکوزیابرهای خزنده شده (مجموعه نویسه‌های غیرقابل خواندن) چقدر سؤال دریافت می‌کنم. اکنون این فرصت را خواهم داشت که همه را به متن این مقاله ارجاع دهم و به طور مستقل جم های خود را بیابم. خوب، برای جذب اطلاعات آماده شوید و سعی کنید داستان را دنبال کنید.

ASCII - رمزگذاری متن اصلی برای الفبای لاتین

توسعه رمزگذاری های متنی همزمان با شکل گیری صنعت فناوری اطلاعات صورت گرفت و در این مدت آنها توانستند دستخوش تغییرات بسیار زیادی شوند. از لحاظ تاریخی، همه چیز با EBCDIC شروع شد، که در تلفظ روسی تقریباً خوشایند نبود، که امکان رمزگذاری حروف الفبای لاتین، اعداد عربی و علائم نگارشی را با کاراکترهای کنترلی ممکن می کرد.

اما با این حال، نقطه شروع برای توسعه رمزگذاری متن مدرن، معروف است ASCII(کد استاندارد آمریکایی برای تبادل اطلاعات، که در روسی معمولا به عنوان "aski" تلفظ می شود). این 128 نویسه اول را توصیف می کند که بیشتر توسط کاربران انگلیسی زبان استفاده می شود - حروف لاتین، اعداد عربی و علائم نگارشی.

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

این 128 کاراکتر از نسخه اصلی ASCII هستند که به استاندارد تبدیل شدند و در هر کدگذاری دیگری مطمئناً آنها را ملاقات خواهید کرد و آنها به ترتیب قرار خواهند گرفت.

اما واقعیت این است که با کمک یک بایت اطلاعات، می توان نه 128، بلکه 256 مقدار مختلف (دو به توان هشت برابر با 256) را رمزگذاری کرد، بنابراین، پس از نسخه اولیه Asuka. ، یک سری کامل ظاهر شد رمزگذاری های ASCII توسعه یافته، که در آن علاوه بر 128 کاراکتر اصلی، امکان رمزگذاری نمادهای رمزگذاری ملی (مثلاً روسی) وجود داشت.

در اینجا، شاید ارزش داشته باشد که در مورد سیستم های اعدادی که در توضیحات استفاده می شود، کمی بیشتر صحبت کنیم. در مرحله اول، همانطور که همه شما می دانید، کامپیوتر فقط با اعداد در سیستم دودویی کار می کند، یعنی با صفر و یک ("جبر بولی"، اگر کسی به کالج یا مدرسه رفته باشد). که هر کدام یک 2 در توان هستند که از صفر شروع می شود و در هفتم تا دو می رسد:

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

در مثال ما، این 1 (2 به توان صفر) به اضافه 8 (دو به توان 3)، به اضافه 32 (دو به توان پنجم)، به اضافه 64 (به توان ششم)، به اضافه 128 (به توان هفتم) است. مجموع در نماد اعشاری 233 می شود. همانطور که می بینید، همه چیز بسیار ساده است.

اما اگر به جدول با کاراکترهای ASCII دقت کنید، خواهید دید که آنها در کدگذاری هگزادسیمال نشان داده شده اند. به عنوان مثال، یک ستاره با عدد هگزادسیمال 2A در آسوکا مطابقت دارد. حتما می دانید که در سیستم اعداد هگزادسیمال علاوه بر اعداد عربی از حروف لاتین از A (به معنی ده) تا F (به معنی پانزده) نیز استفاده می شود.

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

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

نسخه های توسعه یافته Asuka - رمزگذاری CP866 و KOI8-R با شبه نگاری

بنابراین، ما شروع به صحبت در مورد ASCII کردیم، که به عنوان یک نقطه شروع برای توسعه همه رمزگذاری های مدرن (ویندوز 1251، یونیکد، UTF 8) بود.

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

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

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

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

این بدان معنی است که برای رمزگذاری هر کاراکتری که نیاز داریم (مثلاً از الفبای ملی)، دو شرط باید رعایت شود - شکل برداری این کاراکتر باید با فونت استفاده شده باشد و این کاراکتر می تواند در رمزگذاری های ASCII توسعه یافته در کدگذاری شود. یک بایت بنابراین، یک دسته کامل از این گزینه ها وجود دارد. انواع مختلفی از Asuka توسعه یافته فقط برای رمزگذاری کاراکترهای زبان روسی وجود دارد.

به عنوان مثال، در ابتدا ظاهر شد CP866، که در آن امکان استفاده از حروف الفبای روسی وجود داشت و نسخه توسعه یافته ASCII بود.

آن ها قسمت بالای آن کاملاً با نسخه اصلی Asuka (128 کاراکتر لاتین، اعداد و هر چیز مزخرفی) مطابقت داشت که در تصویر بالا ارائه شده است، اما قسمت پایین جدول با رمزگذاری CP866 نمای نشان داده شده در تصویر را داشت. درست در زیر و مجاز به رمزگذاری 128 علامت دیگر (حروف روسی و انواع شبه گرافیک):

ببینید، در ستون سمت راست، اعداد با 8 شروع می شوند، زیرا اعداد 0 تا 7 به بخش اصلی ASCII اشاره دارند (نگاه کنید به تصویر اول). که حرف روسی "M" در CP866 دارای کد 9C خواهد بود (در تقاطع خط مربوطه با 9 و ستون با عدد C در نماد هگزادسیمال قرار دارد)، که می تواند در یک بایت اطلاعات نوشته شود، و اگر یک فونت مناسب با حروف روسی وجود دارد، این حرف بدون مشکل در متن نمایش داده می شود.

این مبلغ از کجا آمده است؟ شبه نگاری در CP866? نکته این است که این رمزگذاری برای متن روسی در آن سال های خزدار توسعه یافته است، زمانی که چنین گسترش سیستم عامل های گرافیکی مانند اکنون وجود نداشت. و در Dos و سیستم‌عامل‌های متنی مشابه، شبه گرافیک‌ها این امکان را به وجود می‌آورد که به نوعی طراحی متون را متنوع کنیم و بنابراین CP866 و سایر همتایان آن از دسته نسخه‌های توسعه‌یافته Asuka در آن فراوان است.

CP866 توسط IBM توزیع شد، اما علاوه بر این، تعدادی رمزگذاری برای کاراکترهای روسی توسعه داده شد، به عنوان مثال، این نوع (ASCII توسعه یافته) را می توان نسبت داد. KOI8-R:

اصل عملکرد آن مانند CP866 است که کمی پیشتر توضیح داده شد - هر کاراکتر متن با یک بایت واحد کدگذاری می شود. اسکرین شات نیمه دوم جدول KOI8-R را نشان می دهد نیمه اول کاملاً با Asuka اصلی مطابقت دارد که در اولین تصویر در این مقاله نشان داده شده است.

از جمله ویژگی های رمزگذاری KOI8-R می توان به این نکته اشاره کرد که حروف روسی در جدول آن به ترتیب حروف الفبا نیستند، همانطور که برای مثال در CP866 انجام دادند.

اگر به اولین اسکرین شات (قسمت پایه، که در تمام رمزگذاری های توسعه یافته موجود است) نگاه کنید، متوجه خواهید شد که در KOI8-R حروف روسی در همان سلول های جدول قرار دارند که حروف همخوان الفبای لاتین قرار دارند. با آنها از قسمت اول جدول. این کار برای راحتی جابجایی از حروف روسی به نویسه‌های لاتین با کنار گذاشتن تنها یک بیت (دو تا توان هفتم یا 128) انجام شد.

ویندوز 1251 - نسخه مدرن ASCII و دلیل بیرون آمدن کراکوزیابری

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

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

تفاوت مطلوبی با CP866 و KOI8-R که قبلاً استفاده شده بود از این جهت بود که نمادهای شبه گرافیکی در آن توسط نمادهای گمشده تایپوگرافی روسی (به جز علامت لهجه) و همچنین نمادهای مورد استفاده در زبان های اسلاوی گرفته شد. نزدیک به روسی (اوکراینی، بلاروسی و غیره) :

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

اغلب آنها هنگام ارسال و دریافت پیام از طریق ایمیل خارج می شدند، که مستلزم ایجاد جداول تبدیل بسیار پیچیده بود، که در واقع نمی توانست این مشکل را به طور اساسی حل کند، و اغلب کاربران برای مکاتبات از krakozyabs بدنام در هنگام استفاده اجتناب می کردند. کدهای روسی مانند CP866، KOI8-R یا Windows 1251.

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

به عنوان مثال، اگر بخواهیم کاراکترهای کدگذاری شده با CP866 را با استفاده از جدول کد ویندوز 1251 نمایش دهیم، همان krakozyabry (مجموعه بی معنی از کاراکترها) ظاهر می شود و کاملاً جایگزین متن پیام می شود.

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

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

یونیکد - رمزگذاری جهانی UTF 8، 16 و 32

این هزاران کاراکتر از گروه زبان آسیای جنوب شرقی را نمی‌توان در یک بایت اطلاعات توصیف کرد، که برای رمزگذاری کاراکترها در نسخه‌های توسعه‌یافته ASCII اختصاص داده شده است. در نتیجه کنسرسیومی به نام ایجاد شد یونیکد(یونیکد - کنسرسیوم یونیکد) با همکاری بسیاری از رهبران صنعت فناوری اطلاعات (کسانی که نرم افزار تولید می کنند، سخت افزار کدنویسی می کنند، فونت ایجاد می کنند) که علاقه مند به ظهور یک رمزگذاری متن جهانی بودند.

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

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

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

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

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

ضمناً با کلیک بر روی هر یک از آنها می توانید دو بایت آن را مشاهده کنید کد UTF-16متشکل از چهار رقم هگزادسیمال:

چند کاراکتر را می توان در UTF-16 با 16 بیت کدگذاری کرد؟ 65536 (دو به توان شانزده) و این عدد بود که به عنوان فضای پایه در یونیکد در نظر گرفته شد. علاوه بر این، راه هایی برای رمزگذاری با آن و حدود دو میلیون کاراکتر وجود دارد، اما به فضای گسترده یک میلیون کاراکتر متن محدود شده بود.

اما حتی این نسخه موفق رمزگذاری یونیکد رضایت زیادی را برای کسانی که مثلاً برنامه ها را فقط به زبان انگلیسی می نوشتند، به همراه نداشت، زیرا پس از انتقال از نسخه توسعه یافته ASCII به UTF-16، وزن اسناد دو برابر شد (یک بایت در هر یک کاراکتر در Aski و دو بایت برای همان کاراکتر در UTP-16).

دقیقاً برای رضایت همه و همه چیز در کنسرسیوم یونیکد تصمیم گرفته شد که رمزگذاری طول متغیر... اسمش را گذاشتند UTF-8. با وجود عدد هشت در نام، واقعا طول متغیری دارد، یعنی. هر کاراکتر در متن را می توان به دنباله ای از یک تا شش بایت کدگذاری کرد.

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

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

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

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

Krakozyabry به جای حروف روسی - نحوه تعمیر

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

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

در منوی بالای Notepad ++ یک مورد "Encodings" وجود دارد که در آن می توانید نسخه موجود را به نسخه ای که به طور پیش فرض در سایت خود استفاده می شود تبدیل کنید:

در مورد سایت جوملا 1.5 و بالاتر و همچنین در مورد وبلاگ در وردپرس برای جلوگیری از ظاهر شدن کرک گزینه را انتخاب کنید. UTF 8 بدون BOM... پیشوند BOM چیست؟

واقعیت این است که هنگامی که کدنویسی YUTF-16 توسعه یافت، به دلایلی آنها تصمیم گرفتند چیزی مانند توانایی نوشتن یک کد کاراکتر، هم به ترتیب مستقیم (به عنوان مثال، 0A15) و هم به صورت معکوس (150A) به آن متصل کنند. . و برای اینکه برنامه ها بفهمند کدها را در کدام دنباله بخوانند و اختراع شد BOM(Byte Order Mark یا به عبارتی امضا) که در همان ابتدای اسناد با افزودن سه بایت اضافی بیان می شد.

در رمزگذاری UTF-8، هیچ BOM در کنسرسیوم یونیکد در نظر گرفته نشده است، و بنابراین افزودن یک امضا (این بدنام ترین سه بایت اضافی به ابتدای سند) به سادگی از خواندن کد برخی از برنامه ها جلوگیری می کند. بنابراین، هنگام ذخیره فایل ها در UTP، همیشه باید گزینه بدون BOM (بدون امضا) را انتخاب کنیم. بنابراین شما پیشروی می کنید خود را از خزیدن از krakozyabrov محافظت کنید.

نکته قابل توجه این است که برخی از برنامه های ویندوز نمی توانند این کار را انجام دهند (نمی توانند متن را در UTP-8 بدون BOM ذخیره کنند)، به عنوان مثال، Notepad بدنام ویندوز. سند را در UTF-8 ذخیره می کند، اما همچنان یک امضا (سه بایت اضافی) به ابتدا اضافه می کند. علاوه بر این، این بایت ها همیشه یکسان خواهند بود - کد را به ترتیب مستقیم بخوانید. اما در سرورها، به دلیل این چیز کوچک، ممکن است مشکلی ایجاد شود - krakozyabry بیرون خواهد آمد.

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

در Notepad ++، هنگام انتخاب یک رمزگذاری، می توانید متن را به رمزگذاری UCS-2 تبدیل کنید، که ذاتاً بسیار نزدیک به استاندارد یونیکد است. همچنین در Notepad امکان رمزگذاری متن در ANSI وجود خواهد داشت. در رابطه با زبان روسی، قبلاً توسط ما در بالای ویندوز 1251 توضیح داده شده است. این اطلاعات از کجا آمده است؟

در رجیستری سیستم عامل ویندوز شما ثبت شده است - در مورد ANSI کدام کد را انتخاب کنید، در مورد OEM کدام را انتخاب کنید (برای زبان روسی CP866 خواهد بود). اگر زبان پیش‌فرض دیگری را روی رایانه خود نصب کنید، این کدگذاری‌ها با زبان‌های مشابهی از دسته ANSI یا OEM برای همان زبان جایگزین می‌شوند.

پس از اینکه سند را در کدگذاری مورد نیاز خود در Notepad ++ ذخیره کردید یا سند را از سایت برای ویرایش باز کردید، می توانید نام آن را در گوشه سمت راست پایین ویرایشگر مشاهده کنید:

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

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

قبل از شروع به تجزیه کد، مرورگر می داند که از کدام نسخه استفاده می شود و دقیقاً چگونه کدهای کاراکتر این زبان باید تفسیر شوند. اما آنچه قابل توجه است این است که اگر سند را در یونیکد پیش فرض ذخیره کنید، می توان این اعلان xml را حذف کرد (اگر BOM وجود نداشته باشد رمزگذاری UTF-8 یا اگر BOM وجود داشته باشد YUTF-16 در نظر گرفته می شود).

در مورد یک سند Html، رمزگذاری مشخص شده است عنصر متا، که بین تگ های Head باز و بسته می شود:

... ...

این ورودی کاملاً متفاوت از ورودی است، اما به طور کامل با استاندارد جدید Html 5 که به آرامی معرفی می شود مطابقت دارد و 100٪ توسط هر مرورگر مورد استفاده فعلی به درستی درک می شود.

در تئوری، عنصر Meta که رمزگذاری سند Html را نشان می دهد بهتر است تنظیم شود تا حد امکان در سرفصل سندبه طوری که در زمان ملاقات با اولین کاراکتر متن که از ANSI اولیه نیست (که همیشه به درستی و با هر گونه تغییری خوانده می شود)، مرورگر باید از قبل اطلاعاتی در مورد نحوه تفسیر کدهای این کاراکترها داشته باشد.

موفق باشی! به زودی شما را در صفحات سایت وبلاگ می بینیم

با رفتن به اینجا می توانید ویدیوهای بیشتری را تماشا کنید
");">

ممکن است علاقه مند باشید

URL ها چیست، تفاوت بین لینک های مطلق و نسبی برای یک سایت چیست
OpenServer یک سرور محلی مدرن و نمونه ای از استفاده از آن برای نصب وردپرس بر روی کامپیوتر است
Chmod چیست، چه مجوزهایی برای اختصاص دادن به فایل ها و پوشه ها (777، 755، 666) و نحوه انجام آن از طریق PHP
جستجوی Yandex در سایت و فروشگاه آنلاین

بر اساس گزارش اتحادیه بین المللی مخابرات، در سال 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 صفر و یک نمایش داده می شود. برای افراد غیر متخصص، این اطلاعات ممکن است غیر ضروری و غیر جالب به نظر برسد، اما آیا نمی خواهید بدانید "در مغز" رایانه شخصی شما چه می گذرد؟

یونیکد (به انگلیسی Unicode) یک استاندارد رمزگذاری کاراکتر است. به عبارت ساده، این جدول مطابقت کاراکترهای متن است (، حروف، عناصر نقطه گذاری) کدهای باینری کامپیوتر فقط دنباله صفر و یک را می فهمد. برای اینکه او بداند دقیقاً چه چیزی را باید روی صفحه نمایش دهد، لازم است به هر کاراکتر یک عدد منحصر به فرد اختصاص دهد. در دهه هشتاد، کاراکترها در یک بایت، یعنی در هشت بیت (هر بیت 0 یا 1) رمزگذاری می شدند. بنابراین، معلوم شد که یک جدول (معروف به رمزگذاری یا مجموعه) فقط می تواند 256 کاراکتر را در خود جای دهد. این ممکن است حتی برای یک زبان نیز کافی نباشد. بنابراین، بسیاری از رمزگذاری های مختلف ظاهر شد، سردرگمی با آنها اغلب به این واقعیت منجر می شود که به جای متن قابل خواندن، مقداری کراکوزیابری عجیب و غریب روی صفحه ظاهر می شود. یک استاندارد واحد مورد نیاز بود که تبدیل به یونیکد شد. بیشترین استفاده از رمزگذاری UTF-8 (فرمت تبدیل یونیکد) است که از 1 تا 4 بایت برای نمایش یک کاراکتر استفاده می کند.

نمادها

کاراکترها در جداول یونیکد با اعداد هگزادسیمال شماره گذاری می شوند. به عنوان مثال، حرف بزرگ سیریلیک M با U + 041C مشخص شده است. این به این معنی است که در تقاطع خط 041 و ستون C قرار دارد. می توانید به سادگی آن را کپی کنید و سپس در جایی قرار دهید. برای اینکه لیست چند کیلومتری را زیر و رو نکنید، باید از جستجو استفاده کنید. با رفتن به صفحه نماد، شماره آن را در یونیکد و نحوه ترسیم آن با فونت های مختلف مشاهده می کنید. شما همچنین می توانید خود علامت را وارد نوار جستجو کنید، حتی اگر یک مربع به جای آن کشیده شده باشد، حداقل برای اینکه بفهمید چه چیزی بوده است. همچنین در این سایت مجموعه‌های ویژه (و - تصادفی) از همان نوع آیکون‌ها که از بخش‌های مختلف جمع‌آوری شده‌اند، برای سهولت استفاده وجود دارد.

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

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

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

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

فرمول تعیین میزان اطلاعات: 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 استفاده کنیم تا تصور کنیم کلمات در حافظه کامپیوتر چگونه به نظر می رسند.

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

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

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