Asci tablosu bir ikili koddur. Metin bilgilerinin kodlanması
Merhaba, blog sitesinin sevgili okuyucuları. Bugün sizlerle sitede ve programlarda krakozyabrların nereden geldiğini, hangi metin kodlamalarının var olduğunu ve hangilerinin kullanılması gerektiğini konuşacağız. Temel ASCII'den ve genişletilmiş sürümleri CP866, KOI8-R, Windows 1251'den başlayarak ve Unicode Konsorsiyumu UTF 16 ve 8'in modern kodlamalarıyla biten geliştirme tarihlerine daha yakından bakalım.
Bazıları için bu bilgi gereksiz görünebilir, ancak özellikle sürünen krakozyabrlar (okunamayan bir karakter seti) ile ilgili kaç tane soru aldığımı bilirsiniz. Şimdi herkesi bu makalenin metnine yönlendirme ve pervazlarımı bağımsız olarak arama fırsatım olacak. Pekala, bilgiyi özümsemeye hazır olun ve hikayenin gidişatını takip etmeye çalışın.
ASCII - Latince için temel metin kodlamasıMetin kodlamalarının gelişimi, BT endüstrisinin oluşumuyla aynı anda gerçekleşti ve bu süre zarfında oldukça fazla değişiklik geçirmeyi başardılar. Tarihsel olarak, her şey Rus telaffuzunda oldukça uyumsuz olan ve Latin alfabesinin harflerini, Arap rakamlarını ve noktalama işaretlerini kontrol karakterleriyle kodlamayı mümkün kılan EBCDIC ile başladı.
Ancak yine de, ünlü ASCII (Rusça'da genellikle “aski” olarak telaffuz edilen Bilgi Alışverişi için Amerikan Standart Kodu) modern metin kodlamalarının geliştirilmesi için başlangıç noktası olarak düşünülmelidir. İngilizce konuşan kullanıcılar tarafından en sık kullanılan Latin harfleri, Arap rakamları ve noktalama işaretlerinin ilk 128 karakterini açıklar.
ASCII'de açıklanan bu 128 karakterde bile parantez, çubuk, yıldız vb. bazı hizmet karakterleri vardı. Aslında, onları kendiniz görebilirsiniz:
Standart haline gelen ASCII'nin orijinal versiyonundaki bu 128 karakterdir ve diğer herhangi bir kodlamada kesinlikle onlarla karşılaşacaksınız ve bu sırada duracaklar.
Ancak gerçek şu ki, bir baytlık bilginin yardımıyla 128 değil, 256 farklı değeri (iki üzeri sekiz eşittir 256) kodlamak mümkündür, bu nedenle, Asuka'nın temel sürümünden sonra, 128 temel karaktere ek olarak, ayrıca ulusal kodlama karakterlerini (örneğin, Rusça) kodlamanın mümkün olduğu bir dizi genişletilmiş ASCII kodlaması ortaya çıktı.
Burada, muhtemelen, açıklamada kullanılan sayı sistemleri hakkında biraz daha söylemeye değer. İlk olarak, hepinizin bildiği gibi, bir bilgisayar yalnızca ikili sistemdeki sayılarla, yani sıfırlar ve birlerle çalışır (bir enstitüde veya okulda okuyan varsa “Boole cebri”). , sıfırdan başlayarak ve yedincide ikiye kadar her biri derecede ikidir:
Böyle bir yapıda tüm olası sıfır ve bir kombinasyonlarından yalnızca 256 tane olabileceğini anlamak zor değil.Bir sayıyı ikiliden ondalık sayıya dönüştürmek oldukça basittir. Sadece üzerinde bir olan ikisinin tüm güçlerini toplamanız gerekiyor.
Örneğimizde, bu 1 (2 üzeri sıfır) artı 8 (iki üzeri 3), artı 32 (iki üzeri beş), artı 64 (altı üzeri), artı 128 (yedinci üzeri). Toplam, ondalık gösterimde 233 alır. Gördüğünüz gibi, her şey çok basit.
Ancak ASCII karakterleri içeren tabloya daha yakından bakarsanız, bunların onaltılık kodlamayla temsil edildiğini göreceksiniz. Örneğin, "yıldız", Asci'de onaltılık sayı 2A'ya karşılık gelir. Onaltılık sayı sisteminin Arap rakamlarına ek olarak A'dan (on anlamına gelir) F'ye (onbeş anlamına gelir) kadar Latin harfleri kullandığını muhtemelen biliyorsunuzdur.
Peki, bir ikili sayıyı onaltılığa dönüştürmek için aşağıdaki basit ve görsel yönteme başvururlar. Her bayt bilgi, yukarıdaki ekran görüntüsünde gösterildiği gibi dört bitlik iki kısma bölünmüştür. O. her yarım baytta, yalnızca on altı değer, kolayca onaltılık bir sayı olarak temsil edilebilen ikili kodda (iki üzeri dördüncü güç) kodlanabilir.
Ayrıca baytın sol yarısında ekran görüntüsünde gösterildiği gibi değil, sıfırdan başlayarak dereceleri tekrar saymak gerekecektir. Sonuç olarak, basit hesaplamalarla, ekran görüntüsünde E9 sayısının kodlandığını anlıyoruz. Umarım muhakememin seyri ve bu bulmacanın çözümü sizin için açık olmuştur. Peki, şimdi aslında metin kodlamaları hakkında konuşmaya devam edelim.
Asuka - CP866 ve KOI8-R kodlamalarının sözde grafiklerle genişletilmiş sürümleriBöylece, tüm modern kodlamaların (Windows 1251, Unicode, UTF 8) geliştirilmesinin başlangıç noktası olan ASCII hakkında konuşmaya başladık.
Başlangıçta, Latin alfabesinin yalnızca 128 karakterini, Arap rakamlarını ve başka bir şeyi içeriyordu, ancak genişletilmiş sürümde, bir baytlık bilgide kodlanabilen 256 değerin tamamını kullanmak mümkün hale geldi. Onlar. Asci'ye dilinizin harflerinin karakterlerini eklemek mümkün hale geldi.
Burada, metin kodlamalarına neden ihtiyaç duyulduğunu ve neden bu kadar önemli olduğunu açıklamak için konuyu bir kez daha açmak gerekecek. Bilgisayar ekranınızdaki karakterler iki şeye dayalı olarak oluşturulmuştur - her türden karakterin vektör şekilleri (temsilleri) kümeleri (bunlar ortak dosyalardadır) ve bu vektör şekiller kümesinden (yazı tipi dosyası) tam olarak doğru yere eklenmesi gereken karakteri çıkarmanıza izin veren bir kod.
Açıktır ki, vektör formlarından yazı tipleri sorumludur, ancak kodlamadan işletim sistemi ve içinde kullanılan programlar sorumludur. Onlar. bilgisayarınızdaki herhangi bir metin, her biri bu metnin tek bir karakterini kodlayan bir dizi bayt olacaktır.
Bu metni ekranda görüntüleyen program (metin düzenleyici, tarayıcı vb.), kodu ayrıştırırken bir sonraki karakterin kodlamasını okur ve bu metin belgesini görüntülemek için bağlanan istenen yazı tipi dosyasında karşılık gelen vektör formunu arar. Her şey basit ve banal.
Bu, ihtiyacımız olan herhangi bir karakteri (örneğin, ulusal alfabeden) kodlamak için iki koşulun karşılanması gerektiği anlamına gelir - bu karakterin vektör biçimi kullanılan yazı tipinde olmalıdır ve bu karakter, bir baytlık genişletilmiş ASCII kodlamalarında kodlanabilir. Bu nedenle, bu tür bir sürü seçenek var. Yalnızca Rus dilinin karakterlerini kodlamak için, genişletilmiş Aska'nın birkaç çeşidi vardır.
Örneğin, orijinal olarak, Rus alfabesinin karakterlerini kullanmanın mümkün olduğu ve ASCII'nin genişletilmiş bir versiyonu olan CP866 ortaya çıktı.
Onlar. üst kısmı, yukarıdaki ekran görüntüsünde gösterilen Asuka'nın temel versiyonuyla (Latin alfabesinin 128 karakteri, sayılar ve diğer saçmalıklar) tamamen örtüşüyordu, ancak CP866 kodlamalı tablonun alt kısmı, hemen aşağıdaki ekran görüntüsünde belirtilen forma sahipti ve 128 karakter daha kodlamasına izin verdi (Rus harfleri ve her türlü sözde yazı):
Görüyorsunuz, sağ sütunda sayılar 8 ile başlıyor, çünkü 0'dan 7'ye kadar olan sayılar ASCII temel kısmını ifade eder (ilk ekran görüntüsüne bakın). O. CP866'daki Rusça "M" harfi, bir bayt bilgi olarak yazılabilen 9C koduna sahip olacaktır (onaltılık sayı sisteminde 9 ile ilgili satırın ve C numaralı sütunun kesişme noktasında bulunur) ve Rusça karakterler içeren uygun bir yazı tipi varsa, bu harf metinde sorunsuz bir şekilde görüntülenecektir.
CP866'da bu kadar çok sözde grafik nereden geldi? Mesele şu ki, Rusça metin için bu kodlama, şu anda olduğu gibi grafik işletim sistemlerinin böyle bir dağılımının olmadığı o tüylü yıllarda geliştirildi. Ve Dosa'da ve benzer metin işletim sistemlerinde, sözde grafikler, metinlerin tasarımını bir şekilde çeşitlendirmeyi mümkün kıldı ve bu nedenle, CP866'da ve Asuka'nın genişletilmiş sürümleri kategorisindeki diğer tüm benzerlerinde bol miktarda bulunur.
CP866, IBM tarafından dağıtıldı, ancak bunun yanı sıra, Rusça karakterler için bir dizi kodlama geliştirildi, örneğin, KOI8-R aynı türe (genişletilmiş ASCII) atfedilebilir:
Çalışma prensibi biraz önce açıklanan CP866 ile aynı kalır - metnin her karakteri tek bir bayt tarafından kodlanır. Ekran görüntüsü KOI8-R tablosunun ikinci yarısını gösterir, çünkü ilk yarı, bu makaledeki ilk ekran görüntüsünde gösterilen temel Asuka'ya tamamen karşılık gelir.
KOI8-R kodlamasının özellikleri arasında, tablosundaki Rusça harflerin, örneğin CP866'da yapıldığı gibi alfabetik sırada olmadığı not edilebilir.
İlk ekran görüntüsüne bakarsanız (tüm genişletilmiş kodlamalarda bulunan temel parçanın), KOI8-R'de Rus harflerinin tablonun ilk bölümündeki Latin alfabesindeki harflerle aynı hücrelerde bulunduğunu fark edeceksiniz. Bu, yalnızca bir biti (iki üzeri yedinci güç veya 128) atarak Rusçadan Latin karakterlerine geçiş yapma kolaylığı için yapıldı.
Windows 1251 - ASCII'nin modern sürümü ve neden krakozyabry sürünüyor?Metin kodlamalarının daha da geliştirilmesi, grafik işletim sistemlerinin popülerlik kazanması ve içlerinde sözde grafik kullanma ihtiyacının sonunda ortadan kalkmasından kaynaklanıyordu. Sonuç olarak, özünde hala Asuka'nın genişletilmiş sürümleri olan (metnin bir karakteri yalnızca bir bayt bilgi ile kodlanmıştır), ancak sözde karakterler kullanılmadan bütün bir grup ortaya çıktı.
Amerikan Standartları Enstitüsü tarafından geliştirilen sözde ANSI kodlamalarına aittiler. Yaygın tabirle, Kiril adı, Rus dilini destekleyen değişken için de kullanılıyordu. Bunun bir örneği hizmet edebilir.
Daha önce kullanılan CP866 ve KOI8-R'den olumlu bir şekilde farklıydı, çünkü içindeki psödografik sembollerin yeri, Rus tipografisinin (aksan işareti dışında) eksik sembollerinin yanı sıra Rusça'ya yakın Slav dillerinde (Ukraynaca, Belarusça, vb.) Kullanılan semboller tarafından alındı:
Rusça dil kodlamalarının bu kadar bol olması nedeniyle, yazı tipi üreticilerinin ve yazılım üreticilerinin başı sürekli olarak ağrıyordu ve biz sevgili okuyucular, metinde kullanılan sürümle karıştırıldığında sık sık çok kötü şöhretli krakozyabry'yi çıkardık.
Çoğu zaman e-posta ile mesaj gönderirken ve alırken dışarı çıktılar, bu da aslında bu sorunu kökte çözemeyen çok karmaşık dönüştürme tablolarının oluşturulmasına yol açtı ve kullanıcılar genellikle CP866, KOI8-R veya Windows 1251 gibi Rus kodlamalarını kullanırken kötü şöhretli krakozyabrlardan kaçınmak için yazışmalar için kullandılar.
Aslında, Rusça metin yerine ortaya çıkan krakozyabry, bu dilin kodlamasının, metin mesajının orijinal olarak kodlandığı dille uyuşmayan yanlış kullanımının sonucuydu.
Örneğin, Windows 1251 kod tablosunu kullanarak CP866 kullanılarak kodlanmış karakterleri görüntülemeye çalışırsanız, aynı krakozyabry (anlamsız karakter seti) mesaj metnini tamamen değiştirerek çıkacaktır.
Benzer bir durum, forumlarda veya bloglarda çok sık görülür, Rusça karakterler içeren metin yanlışlıkla sitede varsayılan olarak kullanılan yanlış kodlamaya veya çıplak gözle görülemeyen koda tıkaç ekleyen yanlış metin düzenleyiciye kaydedildiğinde oluşur.
Sonunda, birçok insan böyle bir durumdan çok fazla kodlamadan bıktı ve sürekli olarak krakozyabry çıktı, mevcut olanların hepsini değiştirecek ve sonunda okunamayan metinlerin ortaya çıkmasıyla sorunu çözecek yeni bir evrensel varyasyon yaratmak için ön koşullar vardı. Ek olarak, dilin karakterlerinin 256'dan çok daha fazla olduğu Çince gibi dillerin sorunu vardı.
Unicode (Unicode) - evrensel kodlamalar UTF 8, 16 ve 32Güneydoğu Asya dil grubunun bu binlerce karakteri, ASCII'nin genişletilmiş sürümlerinde karakterleri kodlamak için ayrılan bir baytlık bilgide hiçbir şekilde tanımlanamadı. Sonuç olarak, evrensel bir metin kodlamanın ortaya çıkmasıyla ilgilenen BT endüstrisindeki birçok liderin (yazılım üretenler, donanım kodlayanlar, yazı tipleri oluşturanlar) işbirliği ile Unicode (Unicode - Unicode Konsorsiyumu) adlı bir konsorsiyum oluşturuldu.
Unicode Konsorsiyumu'nun himayesinde piyasaya sürülen ilk varyasyon UTF 32 idi. Kodlama adındaki sayı, bir karakteri kodlamak için kullanılan bit sayısı anlamına gelir. 32 bit, yeni evrensel kodlama UTF'sinde tek bir karakteri kodlamak için gerekli olacak 4 bayt bilgidir.
Sonuç olarak, ASCII'nin genişletilmiş sürümünde ve UTF-32'de kodlanmış metin içeren aynı dosya, ikinci durumda dört kat daha büyük bir boyuta (ağırlığa) sahip olacaktır. Bu kötü, ama şimdi UTF kullanarak iki üzeri otuz saniyeye eşit sayıda karakteri kodlama fırsatına sahibiz (gerçekten ihtiyaç duyulan herhangi bir değeri büyük bir farkla kapsayacak milyarlarca karakter).
Ancak Avrupa grubunun dillerine sahip birçok ülke için, kodlamada bu kadar çok sayıda karakter kullanmaya hiç gerek yoktu, ancak UTF-32 kullanırken, metin belgelerinin ağırlığında hiçbir şey için dört kat artış ve bunun sonucunda İnternet trafiğinin hacminde ve depolanan veri miktarında bir artış elde ettiler. Bu çok fazla ve hiç kimse böyle bir israfı karşılayamaz.
Unicode'un geliştirilmesinin bir sonucu olarak, kullandığımız tüm karakterler için varsayılan temel alan olarak kabul edilecek kadar başarılı olduğu ortaya çıkan UTF-16 ortaya çıktı. Bir karakteri kodlamak için iki bayt kullanır. Bakalım bu şey nasıl görünüyor.
Windows işletim sisteminde, "Başlat" - "Programlar" - "Donatılar" - "Yardımcı Programlar" - "Karakter Tablosu" yolunu takip edebilirsiniz. Sonuç olarak, sisteminizde yüklü olan tüm yazı tiplerinin vektör şekillerini içeren bir tablo açılacaktır. "Gelişmiş Seçenekler"de Unicode karakter kümesini seçerseniz, her yazı tipi için içinde bulunan tüm karakter aralığını ayrı ayrı görebilirsiniz.
Bu arada, bunlardan herhangi birine tıklayarak, iki baytlık kodunu dört onaltılık basamaktan oluşan UTF-16 biçiminde görebilirsiniz:
UTF-16'da 16 bit kullanılarak kaç karakter kodlanabilir? 65536 (iki üzeri on altı) ve Unicode'da temel alan olarak kabul edilen bu sayıydı. Ek olarak, onunla yaklaşık iki milyon karakter kodlamanın yolları vardır, ancak bir milyon karakterlik genişletilmiş bir metin alanıyla sınırlıdır.
Ancak Unicode kodlamanın bu başarılı sürümü bile, örneğin programları yalnızca İngilizce yazanları pek tatmin etmedi, çünkü ASCII'nin genişletilmiş sürümünden UTF-16'ya geçtikten sonra, belgelerin ağırlığı iki katına çıktı (Asci'de karakter başına bir bayt ve UTF-16'da aynı karakter başına iki bayt).
Unicode konsorsiyumundaki herkesin ve her şeyin memnuniyeti için bu kadar, değişken uzunluklu bir kodlama bulmaya karar verildi. Buna UTF-8 denir. Adındaki sekize rağmen, gerçekten değişken bir uzunluğa sahiptir, yani. her metin karakteri bir ila altı baytlık bir dizi halinde kodlanabilir.
Uygulamada, UTF-8'de yalnızca bir ila dört bayt aralığı kullanılır, çünkü dört baytlık kodun arkasında teorik olarak hayal bile edilemez. İçindeki tüm Latin karakterleri, tıpkı eski güzel ASCII'deki gibi bir bayta kodlanmıştır.
Dikkat çekici bir şekilde, yalnızca Latince kodlama durumunda, Unicode'u anlamayan programlar bile UTF-8'de kodlanmış olanı okumaya devam edecektir. Onlar. Asuka'nın temel kısmı, Unicode Konsorsiyumunun bu fikrine geçti.
UTF-8'deki Kiril karakterleri iki bayt olarak ve örneğin Gürcüce karakterler üç bayt olarak kodlanmıştır. Unicode Konsorsiyumu, UTF 16 ve 8'i oluşturduktan sonra ana sorunu çözdü - artık yazı tiplerinde tek bir kod alanımız var. Ve artık üreticileri, güçlü yanlarına ve yeteneklerine bağlı olarak, onu yalnızca metin karakterlerinin vektör biçimleriyle doldurabilir. Şimdi setlerde bile.
Yukarıdaki "Karakter Tablosu"nda, farklı yazı tiplerinin farklı sayıda karakteri desteklediğini görebilirsiniz. Bazı Unicode açısından zengin yazı tipleri çok büyük olabilir. Ancak şimdi, farklı kodlamalar için yaratıldıkları için değil, yazı tipi üreticisinin tek kod alanını sonuna kadar bir veya daha fazla vektör formuyla doldurması veya doldurmaması gerçeğinde farklılık gösteriyorlar.
Rus harfleri yerine Krakozyabry - nasıl düzeltilirŞimdi metin yerine krakozyabraların nasıl göründüğünü veya başka bir deyişle Rusça metin için doğru kodlamanın nasıl seçildiğini görelim. Aslında, aynı metni veya metin parçalarını kullanarak kodu oluşturduğunuz veya düzenlediğiniz programda ayarlanır.
Metin dosyalarını düzenlemek ve oluşturmak için kişisel olarak çok iyi bir . Ancak, yüzlerce programlama ve biçimlendirme dilinin sözdizimini vurgulayabilir ve ayrıca eklentiler kullanılarak genişletilebilir. Aşağıdaki bağlantıdan bu harika programın ayrıntılı bir incelemesini okuyun.
Notepad ++ üst menüsünde, mevcut bir seçeneği varsayılan olarak sitenizde kullanılana dönüştürme fırsatına sahip olacağınız bir "Kodlamalar" öğesi vardır:
Joomla 1.5 ve sonraki sürümlerde bir site olması durumunda ve ayrıca WordPress'te bir blog söz konusu olduğunda, hataların ortaya çıkmasını önlemek için BOM'suz UTF 8 seçeneğini seçmelisiniz. BOM öneki nedir?
Gerçek şu ki, UTF-16 kodlaması geliştirildiğinde, bir nedenden ötürü, hem doğrudan sırayla (örneğin, 0A15) hem de ters sırada (150A) bir karakter kodu yazma yeteneği gibi bir şeyi eklemeye karar verdiler. Ve programların kodları hangi sırayla okuyacağını anlaması için, belgelerin en başına üç ek bayt eklenmesiyle ifade edilen BOM (Bayt Sırası İşareti veya başka bir deyişle imza) icat edildi.
UTF-8 kodlamasında, Unicode konsorsiyumunda hiçbir Malzeme Listesi sağlanmamıştır ve bu nedenle bir imza eklemek (belgenin başına bu en kötü şöhretli ek üç bayt), bazı programların kodu okumasını engeller. Bu nedenle, dosyaları UTF'de kaydederken, her zaman BOM'suz (imzasız) seçeneğini seçmeliyiz. Böylece, kendinizi krakozyabry'den dışarı çıkmaktan önceden koruyacaksınız.
Dikkat çekici bir şekilde, Windows'taki bazı programlar bunu nasıl yapacaklarını bilmiyorlar (metni BOM olmadan UTF-8'e kaydedemezler), örneğin aynı kötü şöhretli Windows Not Defteri. Belgeyi UTF-8'de kaydeder, ancak yine de imzayı (fazladan üç bayt) başına ekler. Ayrıca, bu baytlar her zaman aynı olacaktır - kodu doğrudan sırayla okuyun. Ancak sunucularda bu küçük şey yüzünden bir sorun ortaya çıkabilir - krakozyabry çıkacaktır.
Bu nedenle, hataların görünmesini istemiyorsanız, sitenizdeki belgeleri düzenlemek için hiçbir durumda normal Windows not defterini kullanmayın. Daha önce bahsedilen Notepad ++ düzenleyicisinin, pratikte hiçbir dezavantajı olmayan ve yalnızca avantajlardan oluşan en iyi ve en basit seçenek olduğunu düşünüyorum.
Notepad++'da bir kodlama seçtiğinizde, metni Unicode standardına doğası gereği çok yakın olan UCS-2 kodlamasına dönüştürme seçeneğiniz olacaktır. Ayrıca Not Defteri'nde metni ANSI'de kodlamak mümkün olacaktır, yani. Rus dili ile ilgili olarak, bu, yukarıda biraz açıkladığımız Windows 1251 olacaktır, bu bilgi nereden geliyor?
Windows işletim sisteminizin kayıt defterinde yazılıdır - ANSI durumunda hangi kodlamanın seçileceği, OEM durumunda hangisinin seçileceği (Rus dili için CP866 olacaktır). Bilgisayarınıza başka bir varsayılan dil yüklerseniz, bu kodlamalar aynı dil için ANSI veya OEM kategorisindeki benzerleriyle değiştirilecektir.
Belgeyi ihtiyacınız olan kodlamada Notepad ++ ile kaydettikten veya belgeyi siteden düzenlemek için açtıktan sonra, düzenleyicinin sağ alt köşesinde adını görebilirsiniz:
Krakozyabr'dan kaçınmak için yukarıda açıklanan işlemlere ek olarak, sunucuda veya yerel ana bilgisayarda herhangi bir karışıklık olmaması için sitenin tüm sayfalarının kaynak kod başlığına bu kodlama hakkında bilgi yazmak faydalı olacaktır.
Genel olarak Html dışındaki tüm köprü metni biçimlendirme dillerinde, metin kodlamasını belirten özel bir xml bildirimi kullanılır.
Tarayıcı, kodu ayrıştırmadan önce hangi sürümün kullanıldığını ve o dilin karakter kodlarının tam olarak nasıl yorumlanması gerektiğini bilir. Ancak dikkat çekici olan, belgeyi varsayılan unicode'da kaydederseniz, bu xml bildirimi atlanabilir (BOM yoksa kodlama UTF-8 veya BOM varsa UTF-16 olarak kabul edilecektir).
Bir Html dil belgesi olması durumunda, Meta öğesi, açılış ve kapanış Head etiketi arasında yazılan kodlamayı belirtmek için kullanılır:
... ...
Bu girdi, 'dekinden oldukça farklıdır, ancak yavaş yavaş tanıtılan yeni Html 5 standardıyla tamamen uyumludur ve şu anda kullanımda olan tüm tarayıcılar tarafından %100 doğru bir şekilde anlaşılacaktır.
Teorik olarak, belgenin Html kodlamasıyla Meta öğesini belge başlığında mümkün olduğunca yükseğe yerleştirmek daha iyi olacaktır, böylece metindeki ilk karakter anında ANSI tabanından değil (ki bu her zaman doğru ve herhangi bir varyasyonda okunacaktır), tarayıcı bu karakterlerin kodlarının nasıl yorumlanacağı hakkında zaten bilgiye sahip olmalıdır.
Sana iyi şanslar! Yakında blog sayfaları sitesinde görüşmek üzere
");"> seçeneğine giderek daha fazla video izleyebilirsiniz.![](https://i0.wp.com/ktonanovenkogo.ru/wp-content/uploads/video/image/razoblachenie-fokusov.jpg)
ilginizi çekebilir
URL nedir, bir site için mutlak ve göreli bağlantılar arasındaki fark nedir?
OpenServer - modern bir yerel sunucu ve onu bir bilgisayara WordPress yüklemek için kullanmanın bir örneği
Chmod nedir, dosya ve klasörlere (777, 755, 666) hangi izinlerin atanacağı ve PHP ile nasıl yapılacağı
Sitede ve çevrimiçi mağazada Yandex araması
Bildiğimiz bazı gerçeklere bir göz atalım:
Metnin yazıldığı karakter kümesine alfabe denir.
Bir alfabedeki karakter sayısı onun kardinalitesidir.
Bilgi miktarını belirleme formülü: N \u003d 2 b,
N, alfabenin gücüdür (karakter sayısı),
b - bit sayısı (karakterin bilgi ağırlığı).
256 karakter kapasiteli bir alfabeye gerekli tüm karakterler yerleştirilebilir. Böyle bir alfabeye yeterli denir.
Çünkü 256 = 2 8 , o zaman 1 karakterin ağırlığı 8 bittir.
8 bitlik bir ölçü birimine 1 bayt adı verilmiştir:
1 bayt = 8 bit.
Bilgisayar metnindeki her karakterin ikili kodu, 1 bayt bellek kaplar.
Metin bilgisi bilgisayar belleğinde nasıl temsil edilir?
Kodlama, her karaktere 0'dan 255'e kadar benzersiz bir ondalık kod veya 00000000'den 11111111'e karşılık gelen ikili kod atanmasıdır. Böylece, bir kişi karakterleri stillerine ve bir bilgisayarı kodlarına göre ayırır. |
Karakterlerin bayt bayt kodlamasının rahatlığı açıktır, çünkü bir bayt belleğin adreslenebilir en küçük kısmıdır ve bu nedenle işlemci, metin işlemeyi gerçekleştirirken her karaktere ayrı ayrı erişebilir. Öte yandan, 256 karakter, çok çeşitli karakter bilgilerini temsil etmek için oldukça yeterlidir.
Şimdi soru, her karaktere hangi sekiz bitlik ikili kodun yazılacağı sorusu ortaya çıkıyor.
Bunun şartlı bir mesele olduğu açıktır, kodlamanın birçok yolunu bulabilirsiniz.
ASCII tablosu (asci olarak okuyun) (Bilgi Alışverişi için Amerikan Standart Kodu), PC'ler için uluslararası standart haline geldi.
Tablonun sadece ilk yarısı uluslararası bir standarttır, yani; 0 (00000000) ile 127 (01111111) arasındaki sayılara sahip karakterler.
Seri numarası | Sembol |
|
00000000 - 00011111 |
|
|
32 - 127 | 00100000 - 01111111 |
|
128 - 255 | 10000000 - 11111111 |
|
|
Kodlama tablosunda harflerin (büyük ve küçük) alfabetik sıraya göre düzenlendiğine ve sayıların artan değer sırasına göre sıralandığına dikkatinizi çekiyorum. Karakterlerin düzenlenmesinde sözlükbilimsel düzenin bu şekilde gözetilmesine alfabenin sıralı kodlama ilkesi denir.
Şu anda kullanılan en yaygın kodlama, CP1251 olarak kısaltılan Microsoft Windows'tur.
90'ların sonlarından bu yana, karakter kodlama standardizasyonu sorunu, Unicode adlı yeni bir uluslararası standardın getirilmesiyle çözüldü. Bu 16 bitlik bir kodlamadır, yani karakter başına 2 bayt belleğe sahiptir. Tabii bu durumda kullanılan hafıza miktarı 2 kat artıyor. Ancak böyle bir kod tablosu, 65536 karaktere kadar dahil edilmesine izin verir. Unicode standardının eksiksiz belirtimi, dünyadaki tüm mevcut, tükenmiş ve yapay olarak oluşturulmuş alfabelerin yanı sıra birçok matematiksel, müzikal, kimyasal ve diğer sembolleri içerir.
Sözcüklerin bilgisayarın belleğinde nasıl görüneceğini hayal etmek için bir ASCII tablosu kullanmayı deneyelim.
Kelimeler | Hafıza |
01100110 01101001 01101100 01100101 |
|
01100100 01101001 01110011 01101011 |
Bir bilgisayara metin bilgisi girildiğinde, karakterler (harfler, sayılar, işaretler), metin bilgilerini kodlamak için ilgili standart sayfalarına yerleştirilmiş bir dizi kod tablosundan oluşan çeşitli kod sistemleri kullanılarak kodlanır. Bu tür tablolarda, her karaktere onaltılık veya ondalık gösterimde belirli bir sayısal kod atanır, yani kod tabloları, karakter görüntüleri ile sayısal kodlar arasındaki yazışmayı yansıtır ve metinsel bilgileri kodlamak ve kodunu çözmek için tasarlanmıştır. Bir bilgisayar klavyesini kullanarak metin bilgisi girerken, her giriş karakteri kodlanır, yani sayısal bir koda dönüştürülür, metin bilgisi bir bilgisayar çıkış cihazına (ekran, yazıcı veya çizici) çıkarıldığında, görüntüsü sayısal karakter kodu kullanılarak oluşturulur. Belirli bir sayısal kodun bir sembole atanması, farklı ülkelerdeki ilgili kuruluşlar arasındaki bir anlaşmanın sonucudur. Şu anda, farklı ülkelerin ulusal alfabelerinin harflerini karşılayan tek bir evrensel kod tablosu yoktur.
Modern kod tabloları uluslararası ve ulusal bölümleri içerir, yani Latin ve ulusal alfabelerin harflerini, sayıları, aritmetik ve noktalama işaretlerini, matematiksel ve kontrol karakterlerini ve sözde karakterleri içerir. Standarda dayalı kod tablosunun uluslararası kısmı ASCII (Bilgi Alışverişi için Amerikan Standart Kodu), kod tablosundaki karakterlerin ilk yarısını 0'dan 7'ye kadar sayısal kodlarla kodlar F 16, veya ondalık sayı sisteminde 0'dan 127'ye kadar. Bu durumda, kişisel bilgisayar klavyesinin işlev tuşlarına (F1, F2, F3 vb.) 0 ila 20 16 (0 × 32 10) arasındaki kodlar atanır. Şek. 3.1 standarda dayalı kod tablolarının uluslararası kısmını gösterir ASCII. Tablo hücreleri sırasıyla ondalık ve onaltılık sayı sistemlerinde numaralandırılmıştır.
Şekil 3.1. Kod tablosunun uluslararası kısmı (standart ASCII) ondalık (a) ve onaltılık (b) sayı sisteminde sunulan hücre sayıları ile
Kod tablolarının ulusal kısmı, karakter seti tablosu olarak da adlandırılan ulusal alfabelerin kodlarını içerir. (karakter kümesi).
Şu anda, Rus alfabesinin (Kiril) harflerini desteklemek için, çeşitli işletim sistemleri tarafından kullanılan, önemli bir dezavantaj olan ve bazı durumlarda karakterlerin sayısal değerleri için kod çözme işlemleriyle ilgili sorunlara yol açan birkaç kod tablosu (kodlama) vardır. Masada. 3.1, Kiril kod tablolarının (kodlamaların) yerleştirildiği kod sayfalarının (standartların) adlarını gösterir.
Tablo 3.1Bilgisayarlarda Kiril alfabesini kodlamak için ilk standartlardan biri KOI8-R standardıydı. Bu standardın kod tablosunun ulusal kısmı şekil 2'de gösterilmiştir. 3.2.
Pirinç. 3.2. KOI8-R standardının kod tablosunun ulusal kısmı
Şu anda işletim sisteminde kullanılan metin bilgi kodlama standardının CP866 sayfasında yer alan kod tablosu da kullanılmaktadır. MS DOS veya oturum MS DOS Kiril alfabesini kodlamak için (Şek. 3.3, A).
Pirinç. 3.3. Metin bilgisi kodlama standardının СР866 (a) sayfasında ve СР1251 (b) sayfasında yer alan kod tablosunun ulusal kısmı
Şu anda, Kiril kodlaması için en yaygın kullanılan kod tablosu, ailenin işletim sistemlerinde kullanılan ilgili standardın СР1251 sayfasında yer almaktadır. pencereler firmalar Microsoft(Şekil 3.2, B). Standart tablo dışında sunulan tüm kod tablolarında evrensel kod, Bir karakteri kodlamak için 8 bit (8 bit) tahsis edilir.
Geçen yüzyılın sonunda yeni bir uluslararası standart ortaya çıktı. evrensel kod, bir karakterin iki baytlık bir ikili kodla temsil edildiği. Bu standardın uygulanması, ulusal karakter kodlamalarının uyumluluk sorununun çözülmesine izin veren evrensel bir uluslararası standardın geliştirilmesinin devamıdır. Bu standardı kullanarak 2 16 = 65536 farklı karakteri kodlayabilirsiniz. Şek. 3.4 standardın kod tablosu 0400'ü (Rus alfabesi) gösterir. Unicode.
![](https://i2.wp.com/caspian72.ru/wp-content/uploads/2018/1567769-566x367.png)
Pirinç. 3.4. Unicode standardının kod tablosu 0400
Metinsel bilgilerin kodlanması ile ilgili söylenenleri bir örnekle açıklayalım.
Örnek 3.1CP1251 kodlamasını kullanarak "Bilgisayar" kelimesini bir ondalık ve onaltılık sayı dizisi olarak kodlayın. Alınan kod kullanılırken SR866 ve KOI8-R kod tablolarında hangi karakterler görüntülenecektir.
CP1251 kodlama tablosuna dayalı olarak "Bilgisayar" kelimesi için onaltılık ve ikili kod dizileri (bkz. Şekil 3.3, B)şöyle görünecek:
CP866 ve KOI8-R kodlamalarındaki bu kod dizisi aşağıdaki karakterleri gösterecektir:
Rusça metin belgelerini bir metin bilgisi kodlama standardından diğerine dönüştürmek için özel programlar - dönüştürücüler kullanılır. Dönüştürücüler genellikle diğer programların içine yerleştirilmiştir. Bir örnek, bir tarayıcı programıdır - Internet Explorer (IE) yerleşik bir dönüştürücüye sahiptir. Tarayıcı programı, içeriği görüntülemek için özel bir programdır. internet sayfaları küresel bilgisayar ağı İnternet'te. Örnek 3.1'de elde edilen karakter eşlemenin sonucunu doğrulamak için bu programı kullanalım. Bunu yapmak için aşağıdaki adımları gerçekleştirin.
1. Not Defteri'ni çalıştırın (Not defteri).İşletim sisteminde not defteri programı Windows XP[Başlat düğmesi - Programlar - Aksesuarlar - Not Defteri] komutu kullanılarak başlatıldı. Açılan Not Defteri program penceresinde, köprü metni belge biçimlendirme dilinin sözdizimini kullanarak "Bilgisayar" kelimesini yazın - HTML (Köprü Metni İşaretleme Dili). Bu dil, web üzerinde belge oluşturmak için kullanılır. Metin şöyle görünmelidir:
Bilgisayar, nerede ve dilin etiketleri (özel yapılar) HTML başlıklar için. Şek. 3.5, bu eylemlerin sonucunu gösterir.![](https://i2.wp.com/caspian72.ru/wp-content/uploads/2018/0d0-i_056.png)
Pirinç. 3.5. Metni Not Defteri penceresinde görüntüle
Bilgisayarda uygun klasöre [Dosya - Farklı Kaydet ...] komutunu uygulayarak bu metni kaydedelim, metni kaydederken dosyaya bir ad vereceğiz - Not, dosya uzantısıyla. html.
2. Programı çalıştırın internet gezgini, komutu çalıştırarak: [Başlat düğmesi - Programlar - Internet Explorer]. Program başladığında, Şekil 1'de gösterilen pencere açılır. 3.6
![](https://i2.wp.com/caspian72.ru/wp-content/uploads/2018/dbscreen888d.png)
Pirinç. 3.6. Çevrimdışı Erişim Penceresi
Çevrimdışı düğmesini seçin ve etkinleştirin; bu, bilgisayarı küresel İnternet'e bağlamaz. Ana program penceresi görünecektir Microsoft Internet Explorer,Şek. 3.7.
Pirinç. 3.7. Microsoft Internet Explorer Ana Penceresi
Aşağıdaki komutu uygulayalım: [Dosya - Aç], dosya adını belirtmeniz ve Tamam'ı tıklamanız veya Gözat ... düğmesini tıklamanız ve Note.html dosyasını bulmanız gereken bir pencere görünecektir (Şekil 3.8).
![](https://i0.wp.com/caspian72.ru/wp-content/uploads/2018/fpic848fdfb2d.png)
Pirinç. 3.8. Açık pencere
Internet Explorer programının ana penceresi, Şekil 1'de gösterilen formu alacaktır. 3.9. Pencere "Bilgisayar" kelimesini gösterecektir. Ardından, programın üst menüsünü kullanarak internet gezgini, aşağıdaki komutu çalıştırın: [Görünüm - Kodlama - Kiril (DOS)]. Program penceresinde bu komutu yürüttükten sonra internet gezginiŞekil l'de gösterilen semboller 3.10. Komutu yürütürken: [Görünüm - Kodlama - Kiril (KOI8-R)] program penceresinde internet gezginiŞekil l'de gösterilen semboller 3.11.
Pirinç. 3.9. CP1251 kodlamasıyla görüntülenen karakterler
Pirinç. 3.10. CP1251 kodlamasında temsil edilen bir kod dizisi için CP866 kodlaması etkinleştirildiğinde görüntülenen karakterler
Pirinç. 3.11. CP1251 kodlamasında temsil edilen kod dizisi için KOI8-R kodlaması etkinleştirildiğinde görüntülenen karakterler
Böylece program kullanılarak elde edilen internet gezgini karakter dizileri, Örnek 3.1'deki CP866 ve KOI8-R kod tabloları kullanılarak elde edilen karakter dizileriyle eşleşir.
3.2. Grafik bilgi kodlamasıÇizimler, fotoğraflar, slaytlar, hareketli görüntüler (animasyon, video), diyagramlar, çizimler şeklinde sunulan grafik bilgiler, uygun şekilde kodlanmış olması kaydıyla bir bilgisayar kullanılarak oluşturulabilir ve düzenlenebilir. Şu anda, grafik bilgilerini işlemek için oldukça fazla sayıda uygulama programı var, ancak hepsi üç tür bilgisayar grafiği uyguluyor: raster, vektör ve fraktal.
Bilgisayar monitör ekranındaki grafik görüntüye daha yakından bakarsanız, çok sayıda çok renkli nokta (piksel - İngilizce'den) görebilirsiniz. piksel, oluşan resim elemanı bir araya getirildiğinde verilen grafik görüntüyü oluşturan görüntü öğesi). Bundan şu sonuca varabiliriz: bilgisayardaki bir grafik görüntü belirli bir şekilde kodlanmıştır ve bir grafik dosyası olarak sunulmalıdır. Dosya, verileri bir bilgisayarda düzenlemek ve depolamak için ana yapısal birimdir ve bu durumda, bu nokta kümesinin monitör ekranında nasıl sunulacağına ilişkin bilgileri içermelidir.
Vektör grafiklerine dayalı olarak oluşturulan dosyalar, matematiksel bağımlılıklar (doğrusal bağımlılıkları tanımlayan matematiksel işlevler) biçiminde bilgiler ve bir bilgisayar monitörü ekranında görüntülendiğinde çizgi parçaları (vektörler) kullanılarak bir nesnenin görüntüsünün nasıl oluşturulacağına ilişkin ilgili verileri içerir.
Raster grafikler temelinde oluşturulan dosyalar, görüntüdeki her bir nokta hakkında verilerin saklandığını varsayar. Raster grafik gösterimi, karmaşık matematiksel hesaplamalar gerektirmez, görüntünün her noktası (koordinatları ve rengi) hakkında veri almak ve bunları bilgisayar monitörü ekranında görüntülemek yeterlidir.
Bir görüntünün kodlanması sürecinde, uzamsal örneklemesi gerçekleştirilir, yani görüntü ayrı noktalara bölünür ve her noktaya bir renk kodu (sarı, kırmızı, mavi vb.) verilir. Renkli bir grafik görüntünün her noktasını kodlamak için, rastgele bir rengin üç ana renk olarak kullanılan ana bileşenlerine ayrıştırılması ilkesi uygulanır: kırmızı (İngilizce kelime). kırmızı, harf ile gösterilir İLE), yeşil (yeşil, harf ile gösterilir G), mavi (Mavi, kayın ağacı İÇİNDE).İnsan gözü tarafından algılanan herhangi bir nokta rengi, üç ana rengin (kırmızı, yeşil ve mavi) eklenmesiyle (orantılı olarak) elde edilebilir. Bu kodlama sistemine renk sistemi denir. RGB. Renk sistemi kullanan görüntü dosyaları RGB, görüntünün her noktasını bir renk üçlüsü olarak temsil eder - üç sayısal değer R, G Ve İÇİNDE, kırmızı, yeşil ve mavinin yoğunluklarına karşılık gelir. Bir grafik görüntüyü kodlama işlemi, çeşitli teknik araçlar (tarayıcı, dijital kamera, dijital video kamera vb.) kullanılarak gerçekleştirilir; sonuç bir bitmap görüntüsüdür. Renkli bir bilgisayar monitörünün ekranında renkli grafik görüntüleri oynatırken, böyle bir görüntünün her noktasının (piksel) rengi, üç ana rengin karıştırılmasıyla elde edilir. R,G Ve B.
Bir raster görüntünün kalitesi iki ana parametre tarafından belirlenir - çözünürlük (yatay ve dikey noktaların sayısı) ve kullanılan renk paleti (her görüntü noktası için belirtilen renk sayısı). Çözünürlük, yatay ve dikey noktaların sayısı belirtilerek belirlenir, örneğin 800 x 600 nokta.
Raster görüntünün bir pikseline atanan renk sayısı ile bir pikselin rengini depolamak için ayrılması gereken bilgi miktarı arasında oran tarafından belirlenen bir ilişki vardır (R. Hartley'nin formülü):
Nerede BEN- Bilgi miktarı; N- noktaya verilen renk sayısı.
Bir noktanın rengini saklamak için gereken bilgi miktarına renk derinliği veya renk kalitesi de denir.
Bu nedenle, bir görüntü noktası için belirtilen renk sayısı N= 256, o zaman formül (3.1) uyarınca saklanması (renk derinliği) için gereken bilgi miktarı şuna eşit olacaktır: BEN= 8 bit.
Bilgisayarlar, grafik bilgileri görüntülemek için çeşitli grafik görüntüleme modlarını kullanır. Burada, monitörün grafik moduna ek olarak, monitör ekranının geleneksel olarak satır başına 80 karakterden oluşan 25 satıra bölündüğü bir metin modu da bulunduğuna dikkat edilmelidir. Bu grafik modları, monitörün ekran çözünürlüğü ve renk kalitesi (renk derinliği) ile karakterize edilir. İşletim sisteminde monitör ekranının grafik modunu ayarlamak için MS Windows XPşu komutu yürütmelisiniz: [Başlat düğmesi - Ayarlar - Denetim Masası - Ekran]. Görünen "Özellikler: Görüntü" iletişim kutusunda (Şekil 3.12), "Parametreler" sekmesini seçin ve uygun ekran çözünürlüğünü (800x600 piksel, 1024x768 piksel, vb.) seçmek için "Ekran Çözünürlüğü" kaydırıcısını kullanın. "Renk kalitesi" açılır listesini kullanarak renk derinliğini seçebilirsiniz - "En yüksek (32 bit)", "Orta (16 bit)", vb.
![](https://i1.wp.com/caspian72.ru/wp-content/uploads/2018/146126717.png)
Pirinç. 3.12. Görüntü Özellikleri İletişim Kutusu
Monitör ekranının grafik modlarının her birini uygulamak için, bilgisayarın video belleğinde belirli bir bilgi hacmi gereklidir. Video belleğinin gerekli bilgi hacmi (V) orandan belirlenir
Nerede İLE - monitör ekranındaki görüntü noktalarının sayısı (K = AB); A - monitör ekranındaki yatay noktaların sayısı; İÇİNDE - monitör ekranındaki dikey noktaların sayısı; BEN– bilgi miktarı (renk derinliği).
Dolayısıyla, monitör ekranı 1024 x 768 piksel çözünürlüğe ve 65.536 renkten oluşan bir palete sahipse, formül (3.1) uyarınca renk derinliği I = log 2 65.538 = 16 bit olacaktır, görüntü piksellerinin sayısı şöyle olacaktır: K = 1024 x 768 = 786432 ve (3.2) uyarınca gerekli video belleği bilgi hacmi şuna eşit olacaktır:
V = 786432 16 bit = 12582912 bit = 1572864 bayt = 1536 KB = 1,5 MB.
Sonuç olarak, listelenen özelliklere ek olarak, monitörün en önemli özelliklerinin ekranının geometrik boyutları ve görüntü noktaları olduğu belirtilmelidir. Ekranın geometrik boyutları, monitörün köşegeninin boyutuna göre belirlenir. Monitörlerin köşegen boyutu inç cinsinden ayarlanmıştır (1 inç = 1" = 25,4 mm) ve şuna eşit değerler alabilir: 14", 15", 17", 21" vb. Modern monitör üretim teknolojileri, 0,22 mm'lik bir görüntü noktası boyutu sağlayabilir.
Böylece, her monitör için, köşegeninin boyutuna ve görüntü noktasının boyutuna göre belirlenen, fiziksel olarak mümkün olan maksimum bir ekran çözünürlüğü vardır.
Kendini gerçekleştirme egzersizleri1. Programı kullanma Excel ASCII, СР866, СР1251, KOI8-R kod tablolarını şu şekildeki tablolara dönüştürün: tabloların ilk sütunundaki hücrelere alfabetik sırayla büyük ve ardından küçük Latin ve Kiril harflerini, ikinci sütunun hücrelerine - ondalık sayı sistemindeki harflere karşılık gelen kodları, üçüncü sütunun hücrelerinde - onaltılık sayı sistemindeki harflere karşılık gelen kodları yazın. Kod değerleri ilgili kod tablolarından seçilmelidir.
2. Aşağıdaki kelimeleri ondalık ve onaltılık gösterimde bir sayı dizisi olarak kodlayın ve yazın:
A) internet gezgini, B) Microsoft Office v) Corel çizgisi.
Önceki alıştırmada elde edilen yükseltilmiş ASCII kodlama tablosunu kullanarak üretmek için kodlayın.
3. Yükseltilmiş KOI8-R kodlama tablosunu kullanarak onaltılık sayı sisteminde yazılan sayı dizilerinin kodunu çözün:
a) FC CB DA C9 D3 D4 C5 CE C3 C9 D1;
b) EB CF CE C6 CF D2 CD C9 DA CD;
c) FC CB D3 D0 D2 C5 D3 C9 CF CE C9 DA CD.
4. CP1251 kodlamasında yazılan "Cybernetics" kelimesi CP866 ve KOI8-R kodlamaları kullanıldığında nasıl görünecek? Sonuçları programla kontrol edin Internet Explorer.
5. Şek. 3.1 A, ikili gösterimde yazılmış aşağıdaki kod dizilerinin kodunu çözün:
a) 01010111 01101111 01110010 01100100;
b) 01000101 01111000 01100011 01100101 01101100;
c) 01000001 01100011 01100011 01100101 01110011 01110011.
6. СР866, СР1251, Unicode ve KOI8-R kod tabloları kullanılarak kodlanan "Ekonomi" kelimesinin bilgi hacmini belirleyin.
7. 12x12 cm renkli bir görüntünün taranması sonucunda elde edilen dosyanın bilgi hacmini belirleyin.Bu görüntüyü taramak için kullanılan tarayıcının çözünürlüğü 600 dpi'dir. Tarayıcı, görüntü noktası renk derinliğini 16 bite ayarlar.
Tarayıcı çözünürlüğü 600 dpi (noktalı inç - nokta başına inç), bu çözünürlüğe sahip bir tarayıcının 1 inçlik bir segmentte 600 noktayı ayırt etme yeteneğini belirler.
8. A4 boyutunda renkli bir görüntünün taranması sonucunda elde edilen dosyanın bilgi hacmini belirleyin. Bu görüntüyü taramak için kullanılan tarayıcının çözünürlüğü 1200 dpi'dir. Tarayıcı, görüntü noktası renk derinliğini 24 bite ayarlar.
9. Paletteki renk sayısını 8, 16, 24 ve 32 bit renk derinliğinde belirleyin.
10. Görüntü noktası renk derinliği 8, 16, 24 ve 32 bit olan 640 x 480, 800 x 600, 1024 x 768 ve 1280 x 1024 piksel monitör ekranının grafik modları için gerekli video belleği miktarını belirleyin. Sonuçlar bir tabloda özetlenmiştir. geliştirmek Excel hesaplamaları otomatikleştirmek için program.
11. Bilgisayar görüntü için 2 KB bellek ayırmışsa, 32 x 32 piksellik bir görüntüyü depolamak için kullanılabilecek maksimum renk sayısını belirleyin.
12. Çapraz uzunluğu 15" ve görüntü noktası boyutu 0,28 mm olan bir monitörün mümkün olan maksimum ekran çözünürlüğünü belirleyin.
13. 64 MB video belleği, monitörün hangi grafik çalışma modlarını sağlayabilir?
İçerik
I. Bilgi kodlama tarihi………………………………..3
II. Kodlama bilgileri…………………………………………4
III. Metinsel bilgilerin kodlanması………………………….4
IV. Kodlama tablosu türleri…………………………………………...6
V. Metin bilgisi miktarının hesaplanması……………………14
Kullanılan literatür listesi………………………………..16
BEN. Bilgi kodlama geçmişi
İnsanoğlu, ilk gizli bilginin ortaya çıktığı andan itibaren metin şifreleme (kodlama) kullanmaktadır. İşte insan düşüncesinin gelişiminin çeşitli aşamalarında icat edilen birkaç metin kodlama tekniği:
Kriptografi, kriptografidir, metni tecrübesiz kişiler için anlaşılmaz hale getirmek için yazı değiştirme sistemidir;
Her harfin veya karakterin kısa elektrik akımı temel paketlerinin (noktalar) ve üç kat süreli temel paketlerin (çizgiler) kombinasyonuyla temsil edildiği mors kodu veya tekdüze olmayan telgraf kodu;
İşaret dili, işitme engellilerin kullandığı bir işaret dilidir.
Bilinen en eski şifreleme yöntemlerinden biri, Roma imparatoru Julius Caesar'ın (MÖ 1. yüzyıl) adını taşır. Bu yöntem, alfabeyi orijinal harften sabit sayıda karakter kaydırarak şifreli metnin her harfinin bir başkasıyla değiştirilmesine dayanır ve alfabe bir daire içinde okunur, yani i harfinden sonra, a dikkate alınır. Yani iki karakter sağa kaydırıldığında "byte" kelimesi "gvlf" kelimesi ile kodlanır. Belirli bir kelimenin şifresini çözmenin ters işlemi, şifrelenmiş her harfi solundaki ikinci harfle değiştirmektir.
II. bilgi kodlama
Bir kod, bazı önceden tanımlanmış kavramları kaydetmek (veya iletmek) için bir kurallar (veya sinyaller) kümesidir.
Bilgiyi kodlama, bilginin belirli bir temsilini oluşturma sürecidir. Daha dar bir anlamda, "kodlama" terimi genellikle bir bilgi sunum biçiminden diğerine geçiş, depolama, iletim veya işleme için daha uygun olarak anlaşılır.
Genellikle, kodlandığında (bazen - şifrelenmiş derler) her görüntü ayrı bir karakterle temsil edilir.
Bir işaret, sonlu bir farklı öğeler kümesinin bir öğesidir.
Daha dar bir anlamda, "kodlama" terimi genellikle bir bilgi sunum biçiminden diğerine geçiş, depolama, iletim veya işleme için daha uygun olarak anlaşılır.
Bilgisayar metin bilgilerini işleyebilir. Bilgisayara girildiğinde her harf belirli bir sayı ile kodlanmakta ve insan algısı için harici cihazlara (ekran veya baskı) çıktı alındığında bu sayılar kullanılarak harflerin görüntüleri oluşturulmaktadır. Bir dizi harf ve rakam arasındaki yazışmaya karakter kodlaması denir.
Kural olarak, bilgisayardaki tüm sayılar sıfırlar ve birler kullanılarak temsil edilir (insanlar için alışılmış olduğu gibi on basamak değil). Başka bir deyişle, bilgisayarlar genellikle ikili sistemde çalışır, çünkü onları işleyen cihazlar çok daha basittir. Sayıların bir bilgisayara girilmesi ve insan okuması için çıktısının alınması olağan ondalık biçimde yapılabilir ve gerekli tüm dönüştürmeler bilgisayarda çalışan programlar tarafından gerçekleştirilir.
III. Metin bilgilerinin kodlanması
Aynı bilgiler birkaç biçimde sunulabilir (kodlanabilir). Bilgisayarların ortaya çıkışıyla birlikte, hem bireyin hem de bir bütün olarak insanlığın uğraştığı her türlü bilgiyi kodlamak gerekli hale geldi. Ancak insanlık, bilgi kodlama sorununu bilgisayarların ortaya çıkmasından çok önce çözmeye başladı. İnsanlığın görkemli başarıları - yazma ve aritmetik - konuşma ve sayısal bilgileri kodlama sisteminden başka bir şey değildir. Bilgi hiçbir zaman saf haliyle ortaya çıkmaz, her zaman bir şekilde sunulur, bir şekilde kodlanır.
İkili kodlama, bilgiyi temsil etmenin en yaygın yollarından biridir. Sayısal kontrollü bilgisayarlarda, robotlarda ve takım tezgahlarında, kural olarak, cihazın ilgilendiği tüm bilgiler ikili alfabenin sözcükleri biçiminde kodlanır.
60'ların sonundan bu yana, bilgisayarlar metinsel bilgileri işlemek için giderek daha fazla kullanılıyor ve şu anda dünyadaki kişisel bilgisayarların ana payı (ve çoğu zaman) metinsel bilgilerin işlenmesiyle meşgul. Bir bilgisayardaki tüm bu tür bilgiler ikili kodda temsil edilir, yani ikinin üssü olan bir alfabe kullanılır (yalnızca iki karakter 0 ve 1). Bunun nedeni, bilgiyi bir dizi elektriksel darbe şeklinde temsil etmenin uygun olmasıdır: dürtü yoktur (0), bir dürtü vardır (1).
Bu tür kodlamaya genellikle ikili denir ve sıfırların ve birlerin mantıksal dizilerine makine dili denir.
Bilgisayarın bakış açısından, metin tek tek karakterlerden oluşur. Semboller yalnızca harfleri (büyük veya küçük harf, Latin veya Rusça) değil, aynı zamanda sayıları, noktalama işaretlerini, "=", "(", "&" vb. gibi özel karakterleri ve hatta kelimeler arasındaki boşlukları (özellikle dikkat edin!) içerir.
Metinler klavye kullanılarak bilgisayar belleğine girilir. Anahtarlar bize tanıdık gelen harfler, sayılar, noktalama işaretleri ve diğer sembollerle yazılmıştır. RAM'e ikili kod olarak girerler. Bu, her karakterin 8 bitlik bir ikili kodla temsil edildiği anlamına gelir.
![](https://i2.wp.com/caspian72.ru/wp-content/uploads/2018/814-8612082-596x775.jpeg)
Bu karakter sayısı, Rus ve Latin alfabelerinin büyük ve küçük harfleri, sayılar, işaretler, grafik semboller vb. dahil olmak üzere metin bilgilerini temsil etmek için yeterlidir.
Kodlama, her karaktere 0'dan 255'e kadar benzersiz bir ondalık kod veya 00000000'den 11111111'e karşılık gelen ikili kod atanmasıdır. Böylece, bir kişi karakterleri stillerine ve bir bilgisayarı kodlarına göre ayırır.
Karakterlerin bayt bayt kodlamasının rahatlığı açıktır, çünkü bir bayt belleğin adreslenebilir en küçük kısmıdır ve bu nedenle işlemci, metin işlemeyi gerçekleştirirken her karaktere ayrı ayrı erişebilir. Öte yandan, 256 karakter, çok çeşitli karakter bilgilerini temsil etmek için oldukça yeterlidir.
Bir karakterin bilgisayar ekranında görüntülenmesi sürecinde, ters işlem gerçekleştirilir - kod çözme, yani karakter kodunu görüntüsüne dönüştürme. Belirli bir kodun bir sembole atanmasının, kod tablosunda sabitlenen bir anlaşma konusu olması önemlidir.
Şimdi soru, her karaktere hangi sekiz bitlik ikili kodun yazılacağı sorusu ortaya çıkıyor. Bunun şartlı bir mesele olduğu açıktır, kodlamanın birçok yolunu bulabilirsiniz.
Bilgisayar alfabesindeki tüm karakterler 0'dan 255'e kadar numaralandırılmıştır. Her sayı, 00000000'den 11111111'e kadar sekiz bitlik bir ikili koda karşılık gelir. Bu kod, ikili sayı sistemindeki karakterin sıra numarasıdır.
IV. Kodlama tablosu türleri
Bilgisayar alfabesindeki tüm karakterlere seri numaraları atanan bir tabloya kodlama tablosu denir.
Farklı bilgisayar türleri için farklı kodlama tabloları kullanılır.
ASCII (Bilgi Değişimi İçin Amerikan Standart Kodu) kod tablosu, karakterlerin ilk yarısını 0'dan 127'ye kadar sayısal kodlarla kodlayan uluslararası bir standart olarak benimsenmiştir (0'dan 32'ye kadar olan kodlar karakterlere değil işlev tuşlarına atanır).
ASCII kod tablosu iki bölüme ayrılmıştır.
Tablonun sadece ilk yarısı uluslararası bir standarttır, yani; 0 (00000000) ile 127 (01111111) arasındaki sayılara sahip karakterler.
ASCII kodlama tablosunun yapısı
Seri numarası | kod | Sembol |
0 - 31 | 00000000 - 00011111 | 0'dan 31'e kadar sayıları olan karakterlere kontrol karakterleri denir. İşlevleri, ekranda metin görüntüleme veya yazdırma, ses sinyali verme, metni işaretleme vb. İşlemlerini kontrol etmektir. |
32 - 127 | 0100000 - 01111111 | Tablonun standart kısmı (İngilizce). Buna Latin alfabesinin küçük ve büyük harfleri, ondalık basamaklar, noktalama işaretleri, her türlü parantez, ticari ve diğer semboller dahildir. Karakter 32 bir boşluktur, yani metinde boş konum. Geri kalan her şey belirli işaretlerle yansıtılır. |
128 - 255 | 10000000 - 11111111 | Tablonun alternatif kısmı (Rusça). ASCII kod tablosunun kod sayfası olarak adlandırılan ikinci yarısı (10000000 ile başlayan ve 11111111 ile biten 128 kod) farklı seçeneklere sahip olabilir, her seçeneğin kendi numarası vardır. Kod sayfası, öncelikle Latince dışındaki ulusal yazıları barındırmak için kullanılır. Rus ulusal kodlamalarında, Rus alfabesinin karakterleri tablonun bu bölümüne yerleştirilir. |
ASCII kod tablosunun ilk yarısı
Kodlama tablosunda harflerin (büyük ve küçük) alfabetik sıraya, sayıların ise artan düzende sıralanmış olmasına dikkat çekilmektedir. Karakterlerin düzenlenmesinde sözlükbilimsel düzenin bu şekilde gözetilmesine alfabenin sıralı kodlama ilkesi denir.
Rus alfabesinin harfleri için sıralı kodlama ilkesi de gözetilir.
ASCII kod tablosunun ikinci yarısı
Ne yazık ki, şu anda beş farklı Kiril kodlaması var (KOI8-R, Windows. MS-DOS, Macintosh ve ISO). Bu nedenle, Rusça metnin bir bilgisayardan diğerine, bir yazılım sisteminden diğerine aktarılmasıyla ilgili sorunlar sıklıkla ortaya çıkar.
Kronolojik olarak, bilgisayarlarda Rus harflerini kodlamak için ilk standartlardan biri KOI8 ("Bilgi Değişim Kodu, 8 bit") idi. Bu kodlama 70'lerde EC serisi bilgisayarların bilgisayarlarında kullanıldı ve 80'lerin ortalarından itibaren UNIX işletim sisteminin ilk Ruslaştırılmış sürümlerinde kullanılmaya başlandı.
90'lı yılların başından itibaren, MS DOS işletim sisteminin hakimiyet zamanı, kodlama CP866 olarak kalır ("CP", "Kod Sayfası", "kod sayfası" anlamına gelir).
Mac OS işletim sistemini çalıştıran Apple bilgisayarlar kendi Mac kodlamalarını kullanır.
Ayrıca Uluslararası Standardizasyon Örgütü (Uluslararası Standartlar Örgütü, ISO), ISO 8859-5 adlı başka bir kodlamayı Rus dili için bir standart olarak onayladı.
Şu anda kullanılan en yaygın kodlama, CP1251 olarak kısaltılan Microsoft Windows'tur. Microsoft tarafından tanıtılan; Rusya Federasyonu'nda bu şirketin işletim sistemlerinin (OS) ve diğer yazılım ürünlerinin yaygın kullanımı göz önüne alındığında, yaygınlaştı.
90'ların sonlarından bu yana, karakter kodlama standardizasyonu sorunu, Unicode adlı yeni bir uluslararası standardın getirilmesiyle çözüldü.
Bu 16 bitlik bir kodlamadır, yani karakter başına 2 bayt belleğe sahiptir. Tabii bu durumda kullanılan hafıza miktarı 2 kat artıyor. Ancak böyle bir kod tablosu, 65536 karaktere kadar dahil edilmesine izin verir. Unicode standardının eksiksiz belirtimi, dünyadaki tüm mevcut, tükenmiş ve yapay olarak oluşturulmuş alfabelerin yanı sıra birçok matematiksel, müzikal, kimyasal ve diğer sembolleri içerir.
Bilgisayar belleğindeki sözcüklerin dahili gösterimi
bir ASCII tablosu kullanarak
Bazen, başka bir bilgisayardan alınan Rus alfabesinin harflerinden oluşan metin okunamaz - monitör ekranında bir tür "abracadabra" görünür. Bunun nedeni, bilgisayarların Rus dilinin farklı karakter kodlamalarını kullanmasıdır.
Böylece her kodlama kendi kod tablosu ile verilir. Tablodan da görülebileceği gibi aynı ikili koda farklı kodlamalarda farklı karakterler atanmaktadır.
Örneğin CP1251 kodlamasında sayısal kodların 221, 194, 204 dizisi "bilgisayar" kelimesini oluştururken, diğer kodlamalarda anlamsız bir karakter kümesi olacaktır.
Neyse ki, çoğu durumda, bu, uygulamalara yerleşik özel dönüştürücü programları tarafından yapıldığından, kullanıcının metin belgelerinin kodunu dönüştürme konusunda endişelenmesine gerek yoktur.
V. Metin bilgisi miktarının hesaplanması
Görev 1: KOI8-R ve CP1251 kodlama tablolarını kullanarak "Roma" kelimesini kodlayın.
Çözüm:
Görev 2: Her karakterin bir bayt tarafından kodlandığını varsayarak, aşağıdaki cümlenin bilgi hacmini tahmin edin:
“En dürüst kuralların amcam,
Ciddi anlamda hastalandığımda,
Kendini saygı duymaya zorladı
Ve daha iyisini düşünemedim."
Çözüm: Bu cümlede noktalama işaretleri, tırnak işaretleri ve boşluklar dahil 108 karakter vardır. Bu sayıyı 8 bit ile çarpıyoruz. 108*8=864 bit elde ederiz.
Görev 3:İki metin aynı sayıda karakter içerir. İlk metin Rusça, ikincisi ise alfabesi 16 karakterden oluşan Naguri kabilesinin dilinde yazılmıştır. Kimin metni daha fazla bilgi taşır?
Çözüm:
1) I \u003d K * a (metnin bilgi hacmi, karakter sayısı ile bir karakterin bilgi ağırlığının çarpımına eşittir).
2) Çünkü her iki metin de aynı sayıda karaktere sahiptir (K), bu durumda fark, alfabenin bir karakterinin (a) bilgi içeriğine bağlıdır.
3) 2 a1 = 32, yani a 1 = 5 bit, 2 a2 = 16, yani ve 2 = 4 bit.
4) I 1 = K * 5 bit, I 2 = K * 4 bit.
5) Rusça yazılan metnin 5/4 kat daha fazla bilgi taşıdığı anlamına gelir.
Görev 4: 2048 karakter içeren bir mesajın hacmi MB'nin 1/512'si kadardı. Alfabenin gücünü belirleyin.
Çözüm:
1) I = 1/512 * 1024 * 1024 * 8 = 16384 bit - mesajın bilgi hacmi bit'e dönüştürüldü.
2) a \u003d I / K \u003d 16384 / 1024 \u003d 16 bit - alfabenin bir karakterine düşer.
3) 2*16*2048 = 65536 karakter - kullanılan alfabenin gücü.
Görev 5: Canon LBP lazer yazıcı ortalama 6,3 Kbps hızında yazdırır. Bir sayfada ortalama 45 satır, her satırda 70 karakter (1 karakter - 1 byte) olduğu biliniyorsa 8 sayfalık bir belgeyi yazdırmak ne kadar sürer?
Çözüm:
1) 1 sayfada yer alan bilgi miktarını bulun: 45 * 70 * 8 bit = 25200 bit
2) 8 sayfadaki bilgi miktarını bulun: 25200 * 8 = 201600 bit
3) Tek tip ölçü birimlerine getiriyoruz. Bunu yapmak için Mbps'yi bitlere çeviriyoruz: 6.3 * 1024 = 6451.2 bps.
4) Baskı süresini bulun: 201600: 6451.2 = 31 saniye.
Kaynakça
1. Ageev V.M. Bilgi teorisi ve kodlama: ölçüm bilgisinin ayrıklaştırılması ve kodlanması. - M.: MAI, 1977.
2. Kuzmin I.V., Kedrus V.A. Bilgi teorisi ve kodlamanın temelleri. - Kiev, Vishcha okulu, 1986.
3. En basit metin şifreleme yöntemleri / D.M. Zlatopolsky. - M.: Chistye Prudy, 2007 - 32 s.
4. Ugrinovich N.D. Bilişim ve bilgi teknolojileri. 10-11. Sınıflar için ders kitabı / N.D. Ugrinovich. – M.: BİNOM. Bilgi Laboratuvarı, 2003. - 512 s.
5. http://school497.spb.edu.ru/uchint002/les10/les.html#n
Ders 2 konusunda kendi kendine çalışma materyali
kodlamaASCII
ASCII kodlama tablosu (ASCII - Bilgi Değişimi için Amerikan Standart Kodu - Bilgi Değişimi için Amerikan Standart Kodu).
ASCII kodlama tablosu (Şekil 1) kullanılarak toplamda 256 farklı karakter kodlanabilmektedir. Bu tablo iki bölüme ayrılmıştır: ana (OOh ila 7Fh arasındaki kodlarla) ve ek (80h'den FFh'ye, burada h harfi kodun onaltılık sayı sistemine ait olduğunu gösterir).
Resim 1
Tablodan bir karakteri kodlamak için 8 bit (1 bayt) tahsis edilir. Metin bilgilerini işlerken, bir bayt bazı karakterlerin kodunu içerebilir - harfler, sayılar, noktalama işaretleri, eylem işaretleri vb. Her karakterin bir tamsayı biçiminde kendi kodu vardır. Bu durumda, tüm kodlar, kodlama tabloları adı verilen özel tablolarda toplanır. Onların yardımıyla karakter kodu, monitör ekranındaki görünür temsiline dönüştürülür. Sonuç olarak, bilgisayarın belleğindeki herhangi bir metin, karakter kodlarıyla birlikte bir bayt dizisi olarak temsil edilir.
Örneğin, merhaba kelimesi! aşağıdaki gibi kodlanacaktır (Tablo 1).
tablo 1
Kod ikili | ||||||
ondalık kod |
Şekil 1, standart (İngilizce) ve genişletilmiş (Rusça) ASCII kodlamasına dahil edilen karakterleri göstermektedir.
ASCII tablosunun ilk yarısı standardize edilmiştir. Kontrol kodlarını içerir (00h ila 20h ve 77h arası). Bu kodlar, metin öğelerine uygulanmadıklarından tablodan kaldırılmıştır. Noktalama işaretleri ve matematiksel işaretler de buraya yerleştirilir: 2lh - !, 26h - &, 28h - (, 2Bh -+, ..., büyük ve küçük Latin harfleri: 41h - A, 61h - a.
Tablonun ikinci yarısı, ulusal yazı tiplerini, tabloların oluşturulabileceği sözde sembolleri, özel matematiksel sembolleri içerir. Kodlama tablosunun alt kısmı, uygun sürücüler - kontrol yardımcı programları kullanılarak değiştirilebilir. Bu teknik, birden çok yazı tipini ve bunların yazı tipini kullanmanıza izin verir.
Her karakter kodunun ekranı, karakterin görüntüsünü göstermelidir - sadece dijital bir kod değil, her karakterin kendi şekli olduğundan, ona karşılık gelen bir resim. Her karakterin şeklinin açıklaması, özel bir ekran belleğinde saklanır - bir karakter üreteci. Örneğin, bir IBM PC ekranındaki bir karakterin vurgulanması, bir karakter matrisi oluşturan noktalar kullanılarak yapılır. Böyle bir matristeki her piksel bir görüntü öğesidir ve parlak veya karanlık olabilir. Koyu nokta 0 sayısıyla, açık (parlak) bir - 1 ile kodlanır. Koyu pikseller işaretin matris alanında bir noktayla ve açık pikseller bir yıldızla temsil ediliyorsa, o zaman sembolün şeklini grafiksel olarak tasvir edebilirsiniz.
Farklı ülkelerdeki insanlar kendi anadillerindeki kelimeleri yazmak için semboller kullanırlar. E-posta sistemleri ve web tarayıcıları da dahil olmak üzere günümüzde çoğu uygulama saf 8 bittir, yani ISO-8859-1 standardına göre yalnızca 8 bit karakterleri görüntüleyebilir ve doğru okuyabilirler.
Dünyada 256'dan fazla karakter var (Kiril, Arapça, Çince, Japonca, Korece ve Tayca dahil) ve gittikçe daha fazla karakter ekleniyor. Bu da birçok kullanıcı için aşağıdaki boşlukları oluşturur:
Aynı belgede farklı kodlama kümelerinden karakterler kullanmak mümkün değildir. Her metin belgesi kendi kodlama setini kullandığından, otomatik metin tanımada büyük zorluklar vardır.
Yeni semboller görünür (örneğin: Euro), bunun sonucunda ISO, ISO-8859-1'e çok benzeyen yeni bir standart olan ISO-8859-15'i geliştirir. Fark şu şekildedir: yeni ortaya çıkan sembollere (Euro gibi) yer açmak için eski ISO-8859-1 standardının kodlama tablosundan şu anda kullanılmayan eski para birimleri için semboller kaldırılmıştır. Sonuç olarak, kullanıcılar disklerinde aynı belgelere sahip olabilir, ancak farklı kodlamalarda olabilir. Bu sorunların çözümü, evrensel kodlama veya Unicode olarak adlandırılan tek bir uluslararası kodlama setinin benimsenmesidir.
kodlamaUnicode
Standart, kar amacı gütmeyen kuruluş Unicode Consortium (İngiliz Unicode Consortium, Unicode Inc.) tarafından 1991 yılında önerildi. Bu standardın kullanımı, farklı yazılardan çok sayıda karakterin kodlanmasını mümkün kılar: Çince karakterler, matematiksel semboller, Yunan alfabesinin harfleri, Latin ve Kiril alfabeleri, Unicode belgelerinde bir arada bulunabilirken, kod sayfaları arasında geçiş yapmak gereksiz hale gelir.
Standart iki ana bölümden oluşur: evrensel karakter seti (UCS, evrensel karakter seti) ve kodlama ailesi (UTF, Unicode dönüştürme formatı). Evrensel karakter seti, karakterlerin kodlara bire bir karşılık gelmesini belirtir - negatif olmayan tamsayıları temsil eden kod uzayının öğeleri. Bir kodlama ailesi, bir UCS kodları dizisinin makine temsilini tanımlar.
Unicode standardı, tüm modern ve birçok eski yazılı dil için tek bir karakter kodlaması oluşturmak amacıyla geliştirilmiştir. Bu standarttaki her karakter, daha önce kabul edilen 8 bitlik kodlamalarla kıyaslanamayacak kadar çok sayıda karakteri kapsamasına izin veren 16 bit ile kodlanmıştır. Unicode ile diğer kodlama sistemleri arasındaki bir diğer önemli fark, her karaktere yalnızca benzersiz bir kod atamakla kalmayıp, aynı zamanda o karakterin çeşitli özelliklerini de tanımlamasıdır, örneğin:
karakter türü (büyük harf, küçük harf, sayı, noktalama işareti vb.);
karakter nitelikleri (soldan sağa veya sağdan sola görüntüleme, boşluk, satır sonu vb.);
karşılık gelen büyük veya küçük harf (sırasıyla küçük ve büyük harfler için);
karşılık gelen sayısal değer (sayısal karakterler için).
0'dan FFFF'ye kadar tüm kod aralığı, her biri ya bir dilin alfabesine ya da işlevlerinde benzer olan bir özel karakter grubuna karşılık gelen birkaç standart alt kümeye bölünmüştür. Aşağıdaki diyagram, Unicode 3.0'ın alt kümelerinin genel bir listesini içerir (Şekil 2).
şekil 2
Unicode standardı, birçok modern bilgisayar sisteminde depolama ve metin için temel oluşturur. Ancak, çoğu İnternet protokolüyle uyumlu değildir, çünkü kodları herhangi bir bayt değeri içerebilir ve protokoller genellikle hizmet baytları olarak 00 - 1F ve FE - FF baytlarını kullanır. Uyumluluğu sağlamak için, günümüzde en yaygın olanı UTF-8 olan birkaç Unicode dönüştürme formatı (UTF'ler, Unicode Dönüşüm Formatları) geliştirilmiştir. Bu format, her bir Unicode kodunu İnternet protokolleri ile taşımaya uygun bir bayt kümesine (birden üçe) dönüştürmek için aşağıdaki kuralları tanımlar.
Burada x,y,z, kaynak kodunun en küçüğünden başlayarak çıkarılması ve belirtilen tüm konumlar dolana kadar sağdan sola sonuç baytlarına girilmesi gereken bitlerini belirtir.
Unicode standardının daha da geliştirilmesi, yeni dil düzlemlerinin eklenmesiyle ilişkilidir, örn. yukarıdaki tabloda yer almayan ölü dillerin komut dosyaları için kodlamayı içermesi gereken 10000 - 1FFFF, 20000 - 2FFFF vb. Bu ek karakterleri kodlamak için yeni bir UTF-16 formatı geliştirildi.
Böylece, baytları Unicode biçiminde kodlamanın 4 ana yolu vardır:
UTF-8: 128 karakter bir bayta kodlanmıştır (ASCII formatı), 1920 karakter 2 bayta kodlanmıştır ((Roma, Yunanca, Kiril, Kıpti, Ermenice, İbranice, Arapça karakterler), 63488 karakter 3 bayta (Çince, Japonca vb.) -inci bayt.
UCS-2: Her karakter 2 bayt ile temsil edilir. Bu kodlama, Unicode biçiminden yalnızca ilk 65.535 karakteri içerir.
UTF-16: Bu, UCS-2'nin bir uzantısıdır ve 1.114.112 Unicode karakter içerir. İlk 65.535 karakter 2 bayt, geri kalanı 4 bayt ile temsil edilir.
USC-4: Her karakter 4 bayt ile kodlanmıştır.
Aralık | altıgen | Sembol | Aralık | altıgen | Sembol | |
000 | 00 | uzman. HAYIR | 128 | 80 | Ђ | |
001 | 01 | uzman. SOH | 129 | 81 | Ѓ | |
002 | 02 | uzman. STX | 130 | 82 | ‚ | |
003 | 03 | uzman. ETX | 131 | 83 | ѓ | |
004 | 04 | uzman. EOT | 132 | 84 | „ | |
005 | 05 | uzman. TR | 133 | 85 | … | |
006 | 06 | uzman. ACK | 134 | 86 | † | |
007 | 07 | uzman. BEL | 135 | 87 | ‡ | |
008 | 08 | uzman. BS | 136 | 88 | € | |
009 | 09 | uzman. SEKME | 137 | 89 | ‰ | |
010 | 0A | uzman. LF | 138 | 8A | Љ | |
011 | 0B | uzman. VT | 139 | 8B | ‹ ‹ | |
012 | 0C | uzman. FF | 140 | 8C | Њ | |
013 | 0D | uzman. CR | 141 | 8D | Ќ | |
014 | 0E | uzman. BU YÜZDEN | 142 | 8E | Ћ | |
015 | 0F | uzman. Sİ | 143 | 8F | Џ | |
016 | 10 | uzman. DLE | 144 | 90 | ђ | |
017 | 11 | uzman. DC1 | 145 | 91 | ‘ | |
018 | 12 | uzman. DC2 | 146 | 92 | ’ | |
019 | 13 | uzman. DC3 | 147 | 93 | “ | |
020 | 14 | uzman. DC4 | 148 | 94 | ” | |
021 | 15 | uzman. NAK | 149 | 95 | ||
022 | 16 | uzman. SYN | 150 | 96 | – | |
023 | 17 | uzman. ETB | 151 | 97 | — | |
024 | 18 | uzman. OLABİLMEK | 152 | 98 | ||
025 | 19 | uzman. EM | 153 | 99 | ™ | |
026 | 1 A | uzman. ALT | 154 | 9A | љ | |
027 | 1B | uzman. ESC | 155 | 9B | › | |
028 | 1C | uzman. FS | 156 | 9C | њ | |
029 | 1D | uzman. GS | 157 | 9D | ќ | |
030 | 1E | uzman. RS | 158 | 9E | ћ | |
031 | 1K | uzman. BİZ | 159 | 9F | џ | |
032 | 20 | debriyaj SP (Boşluk) | 160 | A0 | ||
033 | 21 | ! | 161 | A1 | Ў | |
034 | 22 | " | 162 | A2 | ў | |
035 | 23 | # | 163 | A3 | Ћ | |
036 | 24 | $ | 164 | A4 | ¤ | |
037 | 25 | % | 165 | A5 | Ґ | |
038 | 26 | & | 166 | A6 | ¦ | |
039 | 27 | " | 167 | A7 | § | |
040 | 28 | ( | 168 | A8 | sen | |
041 | 29 | ) | 169 | A9 | © | |
042 | 2A | * | 170 | AAA | Є | |
043 | 2B | + | 171 | AB | « | |
044 | 2C | , | 172 | AC | ¬ | |
045 | 2 boyutlu | - | 173 | AD | | |
046 | 2Ç | . | 174 | AE | ® | |
047 | 2F | / | 175 | AF | Ї | |
048 | 30 | 0 | 176 | B0 | ° | |
049 | 31 | 1 | 177 | B1 | ± | |
050 | 32 | 2 | 178 | B2 | І | |
051 | 33 | 3 | 179 | B3 | і | |
052 | 34 | 4 | 180 | B4 | ґ | |
053 | 35 | 5 | 181 | B5 | µ | |
054 | 36 | 6 | 182 | B6 | ¶ | |
055 | 37 | 7 | 183 | B7 | · | |
056 | 38 | 8 | 184 | B8 | sen | |
057 | 39 | 9 | 185 | B9 | № | |
058 | 3 A | : | 186 | BA | є | |
059 | 3B | ; | 187 | BB | » | |
060 | 3C | < | 188 | M.Ö | ј | |
061 | 3 boyutlu | = | 189 | BD | Ѕ | |
062 | 3Ç | > | 190 | OLMAK | ѕ | |
063 | 3F | ? | 191 | erkek arkadaş | ї | |
064 | 40 | @ | 192 | C0 | A | |
065 | 41 | A | 193 | C1 | B | |
066 | 42 | B | 194 | C2 | İÇİNDE | |
067 | 43 | C | 195 | C3 | G | |
068 | 44 | D | 196 | C4 | D | |
069 | 45 | E | 197 | C5 | E | |
070 | 46 | F | 198 | C6 | VE | |
071 | 47 | G | 199 | C7 | W | |
072 | 48 | H | 200 | C8 | VE | |
073 | 49 | BEN | 201 | C9 | Y | |
074 | 4A | J | 202 | CA | İLE | |
075 | 4B | K | 203 | CB | L | |
076 | 4C | L | 204 | CC | M | |
077 | 4D | M | 205 | CD | H | |
078 | 4Ç | N | 206 | CE | HAKKINDA | |
079 | 4F | Ö | 207 | CF | P | |
080 | 50 | P | 208 | D0 | R | |
081 | 51 | Q | 209 | D1 | İLE | |
082 | 52 | R | 210 | D2 | T | |
083 | 53 | S | 211 | D3 | -de | |
084 | 54 | T | 212 | D4 | F | |
085 | 55 | sen | 213 | D5 | X | |
086 | 56 | V | 214 | D6 | C | |
087 | 57 | W | 215 | D7 | H | |
088 | 58 | X | 216 | D8 | W | |
089 | 59 | Y | 217 | D9 | SCH | |
090 | 5A | Z | 218 | DA | Kommersant | |
091 | 5B | [ | 219 | DB | S | |
092 | 5C | \ | 220 | DC | B | |
093 | 5 boyutlu | ] | 221 | DD | E | |
094 | 5E | ^ | 222 | Almanya | YÜ | |
095 | 5F | _ | 223 | D.F. | BEN | |
096 | 60 | ` | 224 | E0 | A | |
097 | 61 | A | 225 | E1 | B | |
098 | 62 | B | 226 | E2 | V | |
099 | 63 | C | 227 | E3 | G | |
100 | 64 | D | 228 | E 4 | D | |
101 | 65 | e | 229 | E5 | e | |
102 | 66 | F | 230 | E6 | Ve | |
103 | 67 | G | 231 | E7 | H | |
104 | 68 | H | 232 | E8 | Ve | |
105 | 69 | Ben | 233 | E9 | inci | |
106 | 6A | J | 234 | EA | İle | |
107 | 6B | k | 235 | EB | ben | |
108 | 6C | ben | 236 | AB | M | |
109 | 6D | M | 237 | ED | N | |
110 | 6E | N | 238 | EE | Ö | |
111 | 6F | Ö | 239 | EF | P | |
112 | 70 | P | 240 | F0 | R | |
113 | 71 | Q | 241 | F1 | İle | |
114 | 72 | R | 242 | F2 | T | |
115 | 73 | S | 243 | F3 | de | |
116 | 74 | T | 244 | F4 | F | |
117 | 75 | sen | 245 | F5 | X | |
118 | 76 | v | 246 | F6 | C | |
119 | 77 | w | 247 | F7 | H | |
120 | 78 | X | 248 | F8 | w | |
121 | 79 | y | 249 | F9 | sch | |
122 | 7A | z | 250 | FA | B | |
123 | 7B | { | 251 | S | ||
124 | 7C | | | 252 | FC | B | |
125 | 7D | } | 253 | FD | uh | |
126 | 7E | ~ | 254 | F.E. | Yu | |
127 | 7F | Uzman SİL | 255 | FF | BEN |
Özel (kontrol) karakterlerin açıklaması Başlangıçta ASCII tablosunun kontrol karakterlerinin teletip yoluyla veri alışverişi, delikli banttan veri girişi ve harici cihazların en basit kontrolü için kullanıldığına dikkat edilmelidir.
Şu anda, tablonun ASCII kontrol karakterlerinin çoğu artık bu yükü taşımamaktadır ve başka amaçlar için kullanılabilir.
SIFIR, 00 | Boş, boş |
SO-01 | Başlangıcı |
STX 02 | TeXt'in başlangıcı, metnin başlangıcı. |
ETX 03 | TeXt'in Sonu |
EOT, 04 | İletimin Sonu |
ENQ, 05 | Sormak. Lütfen onaylayın |
AK, 06 | Teşekkürler. onaylıyorum |
B.E.L.07 | Zil, ara |
BS 08 | Geri al, bir karakter geri git |
SEKME, 09 | Sekme, yatay sekme |
LF, 0A | Satır Besleme, satır besleme. Artık çoğu programlama dilinde \n olarak gösterilir. |
GT, 0B | Dikey Sekme, dikey tablolama. |
FF, 0C | Form beslemesi, sayfa beslemesi, yeni sayfa |
CR, 0D | Satırbaşı Artık çoğu programlama dilinde \r olarak gösterilir. |
yani, 0E | Shift Out, yazıcıdaki mürekkep şeridinin rengini değiştirin |
SI, 0F | Kaydırma, baskı aygıtındaki mürekkep şeridinin rengini geri döndürür |
DLE, 10 | Data Link Escape, veri iletimine geçiş yapan kanal |
DC1, 11 DC2, 12 DC3, 13 DC4, 14 | Cihaz Kontrolü, cihaz kontrol sembolleri |
NAK 15 | Olumsuz Onay, onaylamıyorum. |
SENK, 16 | senkronizasyon. senkronizasyon sembolü |
ETB, 17 | Metin Bloğunun Sonu, metin bloğunun sonu |
CAN, 18 | İptal, daha önce geçilmiş bir işlemi iptal etme |
EM, 19 | Aracın Sonu |
ALT, 1A | İkame, ikame. İletim sırasında değeri kaybolan veya bozulan bir karakterin yerine yerleştirilir |
ESC, 1B | kaçış kaçış dizisi |
FS, 1C | Dosya Ayırıcı, dosya ayırıcı |
GS, 1 boyutlu | Grup Ayırıcı, grup ayırıcı |
RS, 1E | Kayıt Ayırıcı |
ABD, 1F | Birim Ayırıcı, birim ayırıcı |
DEL, 7F | Sil, son karakteri sil. |
Office 365 için Excel Office 365 için Word Office 365 için Outlook Office 365 için PowerPoint Office 365 için PowerPoint Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 OneNote 2016 Publisher 2019 Visio Professional 2019 Visio Standard 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 OneNote 2 013 Publisher 2016 Visio 2013 Visio Professional 2016 Visio Standard 2016 Excel 2013 Word 2013 Outlook 2013 PowerPoint 2013 Publisher 2013 Excel 2010 Word 2010 Outlook 2010 PowerPoint 2010 OneNote 2010 Publisher 2010 Visio 2010 Excel 2007 Word 2007 Outlook 2007 PowerPoint 2007 Publisher 2007 Access 2007 Visio 2007 OneNote 2007 Office 2010 Visio Standard 2007 Visio Standard 2010 Az
Bu makalede, bir belgeye ASCII veya Unicode karakteri eklemeYalnızca birkaç özel karakter veya simge girmeniz gerekiyorsa, veya klavye kısayollarını kullanabilirsiniz. ASCII karakterlerinin listesi için aşağıdaki tablolara veya Klavye kısayollarını kullanarak ulusal alfabe ekleme makalesine bakın.
notlar:
ASCII karakterleri eklemeBir ASCII karakteri girmek için, karakter kodunu girerken ALT tuşunu basılı tutun. Örneğin, bir derece simgesi (º) eklemek için ALT tuşunu basılı tutun, ardından sayısal tuş takımında 0176 girin.
Sayıları girmek için ana klavyedeki sayıları değil, sayısal tuş takımını kullanın. Sayısal tuş takımında sayı girmeniz gerekiyorsa, NUM LOCK göstergesinin açık olduğundan emin olun.
Unicode karakterler eklemeBir Unicode karakter eklemek için, karakter kodunu yazın, ardından sırayla ALT + X tuşlarına basın. Örneğin, bir dolar ($) karakteri girmek için, 0024 yazın ve sırayla ALT + X tuşlarına basın. Tüm Unicode karakter kodları için bkz. .
Önemli: PowerPoint ve InfoPath gibi bazı Microsoft Office programları, Unicode kodların karakterlere dönüştürülmesini desteklemez. Bu programlardan birine bir Unicode karakteri eklemeniz gerekirse, .
notlar:
ALT+X tuşlarına bastıktan sonra yanlış bir Unicode karakteri görüntülenirse, doğru kodu seçin ve ardından tekrar ALT+X tuşlarına basın.
Ayrıca koddan önce "U+" girmelisiniz. Örneğin, "1U+B5" yazıp ALT+X'e basmak "1µ" metnini görüntülerken, "1B5" yazıp ALT+X'e basmak "Ƶ" karakterini görüntüler.
Karakter tablosu, seçili bir yazı tipi için kullanılabilen karakterleri görüntülemenizi sağlayan, Microsoft Windows'ta yerleşik bir programdır.
Sembol tablosunu kullanarak, tek tek karakterleri veya bir karakter grubunu panoya kopyalayabilir ve bu karakterlerin görüntülenmesini destekleyen herhangi bir programa yapıştırabilirsiniz. Sembol tablosunu açma
Windows 10'da görev çubuğundaki arama kutusuna "simge" yazın ve arama sonuçlarından simge tablosunu seçin.
Windows 8'de Başlangıç ekranına "sembol" kelimesini yazın ve arama sonuçlarından sembol tablosunu seçin.
Windows 7'de, Başlat düğmesine tıklayın, Tüm Programlar, Donatılar, Sistem Araçları'nı seçin ve Karakter Haritası'na tıklayın.
Karakterler yazı tipine göre gruplandırılmıştır. Uygun karakter setini seçmek için yazı tipi listesine tıklayın. Bir sembol seçmek için üzerine tıklayın, ardından Seç düğmesine tıklayın. Bir sembol eklemek için, belgede istenen konuma sağ tıklayın ve Yapıştır'ı seçin.
Sık kullanılan karakter kodlarıKarakterlerin tam listesi için bilgisayarda ASCII karakter kodu tablosuna veya kümelere göre sıralanmış Unicode karakter tablolarına bakın.
Para birimleri |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yasal semboller |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
matematiksel semboller |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kesirler |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Noktalama işaretleri ve lehçe sembolleri |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Şekil Sembolleri |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Yaygın olarak kullanılan aksan işaretleri için kodlar Gliflerin ve karşılık gelen kodların tam listesi için bkz.
|