KompyuterlarDasturlash

UTF-8 - belgi kodlash

Unicode deyarli barcha mavjud belgilar silsilasini qo'llab-quvvatlaydi. Unicode belgilar kodlash eng yaxshi shakli UTF-8 kodlash hisoblanadi. Bu ma'lumotlar, samaradorligini va qayta ishlash qulaylik buzib uchun ASCII bilan muvofiqligi, qarshilik qo'llab-quvvatlaydi. birinchi Ammo birinchi narsa.

kodlash shakl

bayt va 32-bit so'zlar - Kompyuterlar mavhum matematik ob'ektlar, shuningdek, saqlash birliklari kombinatsiyalarini va tashish qo'zg'almas hajmi ma'lumotlarni nafaqat raqamlari faoliyat ko'rsatmoqda. taqdim qilish uchun qanday aniqlashda kodlash standart hisobga olish kerak bo'lgan belgilar sonini.

kompyuter tizimlarida, aniq sonlar 8 bit (1 bayt), 16 yoki 32-bit xotira hujayralari saqlanadi. Har bir shakl xotira hujayralari natija bir alohida belgisi uchun tegishli bo'lgan aniq raqam bir Unicode kodlash, belgilaydi. standarti yunikod belgilarni 8, 16 va 32-bit bloklari kodlash uch turli shakllari mavjud. Shunga ko'ra, ular UTF-8, UTF-16 va UTF-32 deb ma'lum. Ism UTF Unicode ishlash tartibi uchun turadi. kodlayan vositalarini uch shakllarini har bir teng vakillik Unicode belgilar turli xil dasturlarda afzalliklarga ega bo'ladi.

Ma'lumotlarni shifrlash standarti Unicode barcha belgilarni ifodalaydi qilish uchun foydalanish mumkin. Shunday qilib, ular, turli sabablarga ko'ra uchun echimlar uchun to'liq mos bo'lgan kodlash turli shakllarini foydalanish. Har bir kodlash noma'lum ma'lumotlar halok bo'lmasdan, boshqa ikki har qanday aylanadi mumkin.

nenalozheniya tamoyili

shakllari Unicode kodirovkasida Har bo'lmagan qisman raqobatini ko'rinishida ishlab chiqilgan. Masalan, Windows-932 kodini bir yoki ikki bayt belgi hosil qiladi. natija uzunligi birinchi bayt bog'liq, shuning uchun ikki-bayt va yagona bayt yulib turkumlariga yetakchi bayt qiymatlar. Biroq, bitta bayt qiymati va izdoshlari bayt natija mos kelishi mumkin. Bu belgi qidiruv D (kodi 44) u adashib ikki baytli "D" ning ketma-ketlikda ikkinchi qismiga kirgan (kodi 84 44) topish mumkin, masalan, degan ma'noni anglatadi. to'g'ri bo'lgan natija topish uchun, dastur oldingi bayt hisobga olish kerak.

vaziyat bo'lsa hukmron va eng oxirgi bayt o'yin, murakkab. Bu noaniqlik olib tashlash uchun matn yoki noyob kodi ketma boshlanishi yetib borishidan oldin, orqaga qarab qo'ng'iroq bo'ladi, degan ma'noni anglatadi. Bu nafaqat samarasiz, lekin to'liq matnga faqat bitta noto'g'ri bayt o'qilmaydi aylangan, chunki, iloji xatolar himoyalangan emas.

etakchi, altıl qiymati va saqlash bitta birligi bir xil axborot emas, chunki format o'tkazish Unicode, bu muammoni oldini oladi. Bu hech qachon tufayli belgi kodi turli qismlari o'zaro mosligidan uchun noto'g'ri natijalarini berib, izlab va taqqoslash uchun barcha Unicode ta'minlaydi. kodlash bu shakllari tamoyili nenalozheniya rioya haqiqatdir, boshqa Sharqiy Osiyo nechta bayt kodlash ularni ajratib turadi.

nonintersection Yana bir jihati Unicode kodlash , har bir belgi aniq belgilangan chegara bor, deb hisoblanadi. Bu oldingi ramzlar bir noma'lum sonli ko'rish kerakligini yo'q qiladi. Bu xususiyat, ba'zan o'z-o'zini Xronologiya kodlash deyiladi. kodi birliklarining buzish faqat bir belgi bir buzilish joriy etadi, va uning atrofidagi belgilar hali butun bo'ladi. 8-bit format o'zgarishda, bayt, (ikkilik kod) 10xxxxxx bilan boshlangan uchun ko'rsatma ball ramzi start biri uch teskari o'tish uchun zarur bo'lgan topish bo'lsa.

doimiylik

Unicode konsortsiumi to'liq kodlash barcha 3 shakllarini qo'llab-quvvatlaydi. Unicode belgilar-kodlash standarti tadbiri, teng amal shakllari - Bu barcha aylantirish shakllari sifatida UTF-8 va Unicode qarshi emas muhim ahamiyatga ega.

Bayt-orientatsiya

Unicode kod bilan bir vaqtga to'g'ri keladi 32-bit kodi birligidan, kerak UTF-32 belgi ifodalaydi uchun. UTF-16 - ikki, 16-bit dona bir. A UTF-8 4 bayt gacha foydalanadi.

UTF-8 kodlash bayt yo'naltirilgan ASCII asoslangan tizimlar bilan mos bo'lishi uchun mo'ljallangan. uzoq vaqt davomida mavjud dasturiy ta'minot va axborot texnologiyalari amaliyotga eng bayt bir ketma-ketlikda belgilar vakillik tayanib. Bir necha protokollar muntazamligini bog'liq ASCII kodirovkasida va foydalanadi ham maxsus nazorat belgi oldini oladi. A oddiy yo'l Unicode belgi, har qanday ekvivalent ASCII belgi yoki nazorat belgi ifodalovchi uchun 8-bit kodlash orqali, vaziyatlar Unicode mumkin moslashish. Shu maqsadda, va u UTF-8 kodlash hisoblanadi.

o'zgaruvchan uzunligi

UTF-8 -, o'zgaruvchan uzunligi kodlashtirish 8-bit saqlash birliklaridan iborat, yuqori ung har bir bayt majmuasini uchun qaysi qismi tegishli ko'rsatadi. kodi ketma-ketlikda birinchi element uchun ajratilgan qadriyatlardan biri o'zgarib, boshqa - keyingi uchun. Bu-qarshi kodlash beradi.

ASCII

UTF-8 kodlash to'liq qo'llab-quvvatlanadi ASCII kodlari (0x00-0x7F). Bu Unicode belgilar U + 0000-U + 007F yagona bayt 0x00-0x7F UTF-8 aylanadi va shunday ASCII ko'rinmas bo'lib, degan ma'noni anglatadi. Bundan tashqari, noaniqlik oldini olish uchun, qiymati Unicode belgilar bitta bayt vakillik har qanday ko'proq ishlatiladigan emas 0x00-0x7F. ramzlar ikki bayt bir ketma-ketlikni foydalanib, ASCII boshqa neideograficheskih kodlash uchun. Ramzlari U + 0800-U + FFFF uch bayt tomonidan taqdim etiladi farq, va U + FFFF ko'proq qo'shimcha kodlari to'rt bayt talab qiladi.

qo'llash sohasi

UTF-8 kodlash, odatda HTML protokol afzal berilgan, va shunga o'xshash bo'ladi.

XML UTF-8 kodlash uchun to'liq qo'llab-quvvatlash bilan birinchi standart aylangan. Standartlari tashkilotlar ham tavsiya. konsortsiumi W3C va IETF muhandislik guruhi, barcha kodlashtirish bo'yicha shartnoma kelganlarida ASCII-belgilar farq qiladi URL manzili qo'llab-quvvatlash: muammo, hal etilgan URL manzillar faqat UTF-8.

ASCII bilan muvofiqligi yangi dasturiy ta'minot o'tish osonlashtiradi. UTF-8 JEdit, Emacs, cast, Eclipse, va Windows operatsion tizimi "Notepad", shu jumladan, eng matn muharrirlari ishlari bilan. kodlash Unicode boshqa hech shakli vositasi bunday qo'llab-quvvatlash bilan maqtana olmaydi.

foyda kodlash, u baytda majmuasini tashkil topgan, deb hisoblanadi. UTF-8 kanop bilan C va boshqa dasturlash tillarida ishlash oson. Bu kodlash faqat shaklidir, teglar talab qilmaydi tartibi BOM yoki XML bir kodlash deklaratsiya baytlar.

o'z-o'zini sinxronizatsiya

Boshqa bir nechta bayt belgilar silsilasini bilan solishtirganda qayta ishlash 8-bit ramzlari foydalanadi muhitda, UTF-8 quyidagi afzalliklarga ega:

  • birinchi bayt kodi natija uning uzunligi haqida ma'lumotlarni o'z ichiga oladi. Bu to'g'ridan-to'g'ri Izlash samaradorligini oshiradi.
  • boshlang'ich bayt qadriyatlar bir belgilangan qator cheklangan deb ramzi boshlanishini topish soddalashtirilgan.
  • Yo'q, kesishishi bayt qiymatlar.

foyda solishtiring

UTF-8 kodlash ixcham bo'ladi. Sharqiy Osiyo belgilarni kodlash uchun ishlatiladigan Ammo (Xitoy, Yaponiya, Koreya, belgilari yordamida Xitoy yozuv) 3-bayt-ketliklar ishlatiladi. Shuningdek UTF-8 kodlash ishlash tezligi kodlash boshqa shakllari kimdan kam emas. A ikkilik saralash liniyasi Unicode saralash tomonlama bir xil natija ishlab chiqaradi.

belgilar kodlash sxemasi

belgilar kodlash sxemasi kodlash ramzlar shakl va yagona bayt Manzil kodi birliklari uchun usuli o'z ichiga oladi. Unicode standart boshlang'ich bayt tartibi belgisi (BOM, bayt tartibi belgisi) foydalanishni ta'minlaydi kodlash sxemasini aniqlash uchun.

UTF-8 xususiyati tegida BOM kodlash shakllarini foydalanish faqat mos yozuvlar bilan cheklangan bo'lsa. uning kodlash birligi hajmi bir bayt sifatida endian UTF-8 belgilashda muammolari bor. kodlashning bu shakli uchun BOM foydalanish zarur na tavsiya etiladi ham. BOM UTF-8 kodlash uchun bayt tartibi belgisi yoki imzodan foydalangan holda, boshqa kodirovkada aylanadi matnli bo'lishi mumkin. EF BB 16 16 BF 16 3 bayt ketma ketligi.

UTF-8 kodlash qanday

kodlashtirish HTML UTF-8 quyidagi kodi bilan o'rnatilgan:

bosh

Huzur http-munosib = "Content-Type" kontent = "text / html; charset = utf-8" ˃

PHP UTF-8 kodlash chiqish darajasi qiymati xato o'rnatganingizdan so'ng fayl boshida header () funktsiyasi yordamida o'rnatiladi:

˂? Php

error_reporting (-1);

header ( "kontent-turi: matn / html; charset = utf-8 ');

UTF-8 kodlash o'rnatilgan MySQL ma'lumotlar bazasiga ulanish uchun:

˂? Php

mysql_set_charset ( "utf8");

CSS-fayl kodlash quyidagicha UTF-8 belgi belgilangan bo'ladi:

@charset "utf-8";

Agar barcha turdagi fayllar, BOM holda UTF-8 kodlash tanlash saqlaganingizda aks holda sayt ishlamaydi. UTF-8 kodlash o'zgartirish DreamWeave Buning uchun menyudagi "Nomi / kodlash - - Sahifa Özellikleri'ni o'zgarishlar" ni tanlash kerak. sahifa qayta ortidan, "Ulaning Unicode imzo (BOM)» dan belgisini olib tashlang va o'zgarishlarni amalga oshirish. bir sahifada yoki ma'lumotlar bazasida har qanday matn kodlash yana bir shakli joriy etildi bo'lsa, u qayta-kiriting yoki qayta kodlash zarur. Agar muntazam so'zlar bilan ishlash bo'lsa, Modifikator U foydalanish ishonch hosil qiling.

Bundan tashqari, Windows "Notepad" da UTF-8 kodlash faylni saqlashingiz mumkin. menyudagi qismi tanlash so'ng «Fayl - deb Saqlash ..." kodlash zarur formasini o'rnatish va UTF-8 faylni saqlab qolish uchun.

menyu punkti orqali, UTF-8 dan boshqa belgilangan bo'lsa, matn muharriri Notepad ++, yilda "Bom holda UTF-8 aylantirish» belgi o'zgartirish va UTF-8 saqlab.

hech qanday muqobil bor

siyosiy va lingvistik chegaralari o'chiriladi globallashuv, doirasida, mahalliy xususiyatlarga ega belgilar silsilasini, kam foydalanish hisoblanadi. Unicode barcha qoshish qo'llab-quvvatlaydigan yagona belgilar majmui hisoblanadi. A UTF-8 - deb Unicode to'g'ri amalga oshirish, bir misol:

  • Bu ASCII kodirovkasida bilan muvofiqligi, shu jumladan vositalari, keng ko'lamli qo'llab-quvvatlaydi;
  • Bu buzish ma'lumotlar chidamli hisoblanadi;
  • oddiy va davolashda samarali;
  • platformalar alohidadir.

yaxshiroq kodlash yoki belgilar majmui qaysi shakli haqida UTF-8 munozara kelishi bilan, u ma'nosiz bo'ladi.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 uz.birmiss.com. Theme powered by WordPress.