آشنایی با Head در HTML قسمت سوم
آشنایی با Head در HTML
آشنایی با charset ها در HTML
کار با کارکتر ست ها و انواع انکود ها
منظور از charset ها در html چیست ؟ چگونه صفحاتمان در HTML را با انکود عمومی تعریف کنیم؟ تفاوت انکود با کارکتر ست چیست ؟
برای نمایش صفحات HTML ، مرورگر باید بداند از چه نوع کاراکتر هایی (انکود) باید استفاده کند، در این مقاله با charset ها در HTML آشنا خواهیم شد.
توجه: این مقاله، یک مقاله تخصصی هست و برای افرادی تهیه شده است که میخواهند به صورت کامل در رابطه با کارکترستها و انکودینگ ها بدانند و با آنها آشنا شوند.
در صورتی که تنها قصد یادگیری HTML را دارید، فقط کافیست متا تگ زیر را در صفحه HTML خود اضافه کنید.
<meta charset="UTF-8">
در این مقاله سعی شده است که به صورت خیلی ساده توضیحات داده شود،
- 1 کارکتر ست یا Charset چیست؟
- 2 انکود یا Encoding چیست؟
- 3 تفاوت Encode با Charset
- 4 انواع انکود ها
- 5 خاصیت charset در متاتگ HTML
- 5.1 خاصیت charset در نسخه HTML4
- 5.2 خاصیت charset در نسخه HTML5
- 5.3 کاراکتر های ASCII
- 5.4 کاراکتر های ANSI
- 5.5 کاراکتر های ISO-8859-1
- 5.6 کاراکتر های UTF-8
آشنایی با Head در HTML
کارکتر ست یا Charset چیست؟
در هر زبانی حروف و کارکتر های خاصی وجود دارد که برای نوشتن مورد استفاده قرار میگیرد.
در دنیای کامپیوتری برای استفاده از حروف زبان های مختلف میبایست
از مجموعه ای از کارکتر ها استفاده کنیم که به آنها Charset هم میگویند.
به عنوان مثال کارکتر ست ASCII تمامی حروف انگلیسی را پوشش میدهد
و با استفاده از این کارکتر ست از حروف انگلیسی به صورت کامل استفاده کنید،
اما اگر بخواهید از زبان های دیگر استفاده کنید، باید از کارکتر ست دیگری به نام Unicode استفاده کنید
که تمامی زبان های زنده جهان را پشتیبانی میکند.
آشنایی با Head در HTML
انکود یا Encoding چیست؟
انکودینگ نوعی مکانسیم برای ذخیره سازی و بارگذاری کاراکتر از طریق حافظه هست.
بنابر این یک کارکتر با استفاده از انکودینگ میتواند در هر سیستمی با طرح انکود یکسان بدون تغییر و مشکل خوانده شود.
حالا جالب اینه که بدونید، کاراکتر ست ها به صورت متفاوت انکود یا کد گذاری میشوند.
به عنوان مثال کارکتر ست های Unicode با طرح انکود UTF-8 – UTF-16 – UTF-32 انکود میشوند.
ما در زبان فارسی از UTF-8 استفاده میکنیم،
این انکود ها تفاوتشان در محدودیت حافظه هست و برای داده های بزرگ پیشنهاد میشود
از UTF-16 به بالا استفاده شود که فضای حافظه برای داده های کوچکتر مشغول نشود.
با استفاده از UTF-8 شما میتوانید از داده های ۸ بیت تا ۳۲ بیت استفاده کنید،
ولی در UTF-16 از داده های ۱۶ بیت و ۳۲ بیت میتوانید استفاده کنید و داده های کوچکتر صرف نظر میشوند.
البته که این مسائل بیشتر مربوط به آینده شما در برنامه نویسی وب میشود
و بیشتر در علم داده مورد استفاده قرار میگیرد، با اینحال اطلاع داشتن خالی از لطف نیست.
آشنایی با Head در HTML
تفاوت Encode با Charset
به طور خیلی خلاصه با توجه به تعریف کاراکتر ست ها ، مجموعه ای از کاراکتر ها هستند که میتوانید استفاده کنید ،
اما انکود ها راهی برای ذخیره شدن این کاراکتر ها در حافظه هستند.
به این صورت که هر کاراکتر و مجموعه کارکتر برای بارگذاری میبایست قبلا در حافظه ذخیره شده باشد
که انکود ها راهی برای ذخیره سازی کاراکتر ست ها هستند.
آشنایی با Head در HTML
انواع انکود ها
انکود ASCII اولین انکود استاندارد کاراکتر بود. این انکود شامل 128 حروف مختلف است
که قابل استفاده برروی اینترنت می باشند. این حروف شامل اعداد، حروف انگلیسی و بعضی از کاراکتر های خاص است.
انکود ISO-8859-1 به صورت پیشفرض در نسخه HTML4 مورد استفاده قرار می گیرد این انکود 256 کاراکتر متفاوت را پشتیبانی می کند.
ANSI ، انکودی است که در ویندوز مورد استفاده قرار می گیرد این انکود با ISO-8859-1 یکسان است با این تفاوت که ANSI 32 کاراکتر بیشتر دارد.
به دلیل محدودیت انکود های نامبرده شده، HTML4 از انکود UTF-8 نیز پشتیبانی می کند. در نسخه HTML5 انکود پیشفرض UTF-8 است.
خاصیت charset در متاتگ HTML
همانطور که در ابتدا اشاره کردیم، برای نمایش یک صفحه HTML مرورگر باید نوع انکود صفحه را بداند.
برای شناساندن انکود به مرورگر باید از طریق تگ Meta آن را تعریف کنیم که درون تگ head قرار میگیرد.
خاصیت charset در نسخه HTML4
در نسخه چهارم HTML برای مشخص کردن charset ها از خاصیت Content استفاده میکردیم
و به صورت پیشفرض از نوع ISO-8859-1 تعریف میشد.
<meta http-equiv="Content-Type" content="text/html;charset ISO-8859-1">
نوع های دیگری از Charset ها نیز امکان فعالسازی داشتیم
برای مثال در نمونه زیر به جای ISO-8859-1 از charset نوع ISO-8859-9 که علاوه بر کارکتر های لاتین ،
کارکتر های Turkish هم به صفحه اضافه میکند، استفاده کردیم.
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-9">
همچنین در نظر داشته باشید که HTML4 به صورت کامل از charset های نوع UTF-8 پشتیبانی میکند.
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> آشنایی با Head در HTML
خاصیت charset در نسخه HTML5
در نسخه پنجم HTML دیگر برای مشخص کردن نوع کارکتر ها ما یک خاصیت جداگانه داریم که charset است.
همچنین در HTML5 به صورت پیشفرض نوع UTF-8 مشخص میشود.
<meta charset="UTF-8">
کاراکتر هایASCII
اگر رشته دانشگاهیتون مهندسی کامپیوتر بوده یا هست ، صد در صد با این انکود در درس مدار های منطقی آشنا شدید،
این انکود از مقدار های 0 تا 31 و 127 برای کنترل کاراکتر ها استفاده می کند که در آن مقدار های 32 تا 126 شامل حروف،
اعداد و علامت ها هستند. همچنین این انکود از مقدار بین 128 تا 255 استفاده نمی کند.
کاراکتر های ANSI
این انکود با ASCII از مقدار 0 تا 127 یکسان است. مقدار های 128 تا 159 برای این انکود اختصاصی هستند.
همچنین از مقدار 160 تا 255 با انکود UTF-8 یکسان است.
کاراکتر های ISO-8859-1
مقدار های 0 تا 127 با انکود ASCII یکسان هستند و برعکس ANSI از مقدار 128 تا 159 استفاده نمی کند.
مقدار های 160 تا 255 با انکود UTF-8 یکسان هستند.
آشنایی با Head در HTML
کاراکتر های UTF-8
مقدار های 0 تا 127 با انکود ASCII یکسان هستند. این انکود از مقدار های 128 تا 159 استفاده نمی کند.
همچنین مقدار های 160 تا 255 این انکود با ANSI و 8859-1 یکسان هستند.
کاراکتر های اختصاصی این انکود از 256 شروع می شوند و تا 10000 ادامه دارند.
در این مقاله به صورت کامل با charset ها آشنا شدیم. اگر میخواهید لیست کلی کاراکتر ست ها ( Character Sets ) را مشاهده کنید،
میتوانیدبخش HTML Character دنبال کنید.
این مقاله هم به پایان رسید، متوجه شدیم که انکود کاراکتر هامون رو با charset ها مشخص میکنیم.
امیدوارم از این مقاله استفاده لازم را برده باشید.
تا مقاله بعد…
جهت مشاهده دوره های آموزشی بر روی این لینک کلیک نمایید.
جدیدترین اخبار مجموعه فراز نتورک را در این صفحه اجتماعی دنبال کنید.
نویسنده:راحله تبریزی
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.