رمزگذاری HTML


مجموعه نویسه های HTML

برای اینکه یک صفحه وب، نویسه ها ( Characters ) را به درستی نمایش دهد، نیاز هست که مرورگر بداند که از چه مجموعه نویسه ای ( Character Sets ) باید استفاده کند!

مثال‌هایی از نویسه‌ها (Characters) عبارتند از حرف، رقم، نشانه‌های سجاوندی و نویسه فاصله خالی (Whitespace) و نویسه‌های کنترلی مانند کلیدهای  جهش می باشند .از قرار گرفتن نویسه‌ها در کنار هم، رشته به وجود می‌آید.

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

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

   01101100 00100001 01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010


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

برای اینکه کامپیوترها توانایی درک زبان انسان ها را داشته باشند، باید نویسه ها ( Cahracters ) به اعداد تبدیل شوند که خود این اعداد به شکل دودویی در کامپیوتر مورد استفاده قرار می گیرند.برای این منظورکد ASCII ( American Standard Code for Information Interchange  ) می خوانیم "اسکی" اختراع شد که تمامی نویسه هایی که می شناسیم را به یک عدد نگاشت کرده است.جدول زیر کد اسکی را نشان می دهد.


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

بطور مثال در جدول کد اسکی حرف A به عدد 65 و حرف a به عدد 97 نگاشت شده است.

متن Hello World! را درنظر بگیرید. کامپیوتر این متن را چگونه می فهمد؟؟

با نگاهی به جدول کد اسکی می توانیم هر حرف جمله Hello World! را به عدد دهدهی متناظر تبدیل کنیم.

110 101 108 108 111 72 111 114 108 100 33

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

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

27-1 =26=64

نکته: عدد 7 نماینگر آن است که در کد اسکی برای نشان دادن یک نویسه (Character) هفت بیت وجود دارد.

نکته: عدد 1 از 7 به خاطر بیت هشتم کم شده است.

نکته: عدد 64 نماینگر بزرگترین ارزش مکانی است.

در سیستم اعداد باینری وزن هر رقم دو برابر رقم قبلی است. لذا اولین رقم دارای وزن 1 (20)، دومین رقم دارای وزن 2 (21)، سومین رقم دارای وزن 4 (22)، چهارمین رقم دارای وزن 8 (23) و است.

بیت اول

بیت دوم

بیت سوم

بیت چهارم

بیت پنجم

بیت ششم

بیت هفتم

20

21

22

23

24

25

26

1

2

4

8

16

32

64

 

با نگاه به جدول کد اسکی متوجه می شویم که برای حرف H در سیستم دهدهی عدد 72 را داریم و برای تبدیل آن به زبان کامپیوتر ( صفر و یک) مانند زیر می توانیم عمل کنیم.

ارزش مکانی

1

2

4

8

16

32

64

بیت

0

0

0

1

0

0

1

 

از راست به چپ و با جمع تمامی مقادیر دهدهی در مکان‌هایی که معادل باینری یک وجود دارد، خواهیم داشت:

64+8=72

در جدول زیر دودویی تمامی حروف جمله Hello World! نشان داده شده است.

حرف

کد اسکی دهدهی

دودویی (زبان ماشین)

H

110

1101110

e

101

1100101

l

108

1101100

l

108

1101100

o

111

1101111

W

72

1001000

o

111

1101111

r

114

1110010

l

108

1101100

d

100

1100100

!

33

0100001

 

پس چیزی که کامپیوتر از جمله ما می فهمد ، صفر و یک هاست.

1101110 1100101 1101100 1101100 1101111 1001000 1101111 1110010 1101100 1100100 0100001

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

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

UTF-8 با اسکی سازگار است؛ به این معنا که 128 کاراکتر اول هر دو یکسان هستند. UTF می‌تواند  از دو، سه یا چهار بایت هم برای کدگذاری رسم‌‌الخط‌هایی مانند لاتین، یونانی، سیریلیک، عربی، چینی، کره‌ای و ژاپنی استفاده کند.

برای اینکه یک صفحه وب به درستی نمایش داده شود باید نوع مجوعه نویسه یا Character Set را با استفاده از تگ meta مشخص کنیم.برای تجزیه بهتر فایل‌های HTML و اجرای بلافاصله اسکریپتها. بدون تعیین رمزگذاری کاراکترها مرورگر شروع به تشخیص رمزگذاری کاراکتر خواهد کرد و این عمل باعث اتلاف وقت خواهد شد و در نتیجه تأثیر منفی در بارگذاری سایت خواهد داشت.  پس لازم است که نوع کارکتر را مانند زیر در هدر است اضافه کنید.

<"meta charset="UTF-8>

 

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

 


نظرات شما برای ما فوق العاده مهم هستند. لطفا نظر خود را بنویسید.


با نظردهی ما را حمایت کنید:

Captcha