• 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ümleri

    Bö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 32

    Gü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.

    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


    İşlevleri, ekranda metin görüntüleme veya yazdırma, ses sinyali verme, metni işaretleme vb. İşlemlerini kontrol etmektir.

    32 - 127

    00100000 - 01111111


    128 - 255

    10000000 - 11111111


    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.


    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.1

    Bilgisayarlarda 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.

    Pirinç. 3.4. Unicode standardının kod tablosu 0400


    Metinsel bilgilerin kodlanması ile ilgili söylenenleri bir örnekle açıklayalım.

    Örnek 3.1

    CP1251 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.

    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

    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).

    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.

    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 egzersizleri

    1. 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.

    Geleneksel olarak, bir karakteri kodlamak için 1 bayta eşit bilgi miktarı kullanılır, yani. I \u003d 1 bayt \u003d 8 bit. Olası olayların sayısı K ile bilgi miktarını I ilişkilendiren bir formül kullanarak, kaç farklı karakterin kodlanabileceğini hesaplayabilirsiniz (karakterlerin olası olaylar olduğunu varsayarak): K = 2 I = 2 8 = 256, yani metin bilgisini temsil etmek için 256 karakter kapasiteli bir alfabe kullanılabilir.

    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ıkaltıgenSembol AralıkaltıgenSembol
    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 0Auzman. LF 138 8AЉ
    011 0Buzman. VT 139 8B‹ ‹
    012 0Cuzman. FF 140 8CЊ
    013 0Duzman. CR 141 8DЌ
    014 0Euzman. BU YÜZDEN 142 8EЋ
    015 0Fuzman. 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 Auzman. ALT 154 9Aљ
    027 1Buzman. ESC 155 9B
    028 1Cuzman. FS 156 9Cњ
    029 1Duzman. GS 157 9Dќ
    030 1Euzman. RS 158 9Eћ
    031 1Kuzman. 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 A8sen
    041 29 ) 169 A9©
    042 2A* 170 AAAЄ
    043 2B+ 171 AB«
    044 2C, 172 AC¬
    045 2 boyutlu- 173 AD­
    046 . 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 B8sen
    057 39 9 185 B9
    058 3 A: 186 BAє
    059 3B; 187 BB»
    060 3C< 188 M.Öј
    061 3 boyutlu= 189 BDЅ
    062 > 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 4AJ 202 CA İLE
    075 4BK 203 CB L
    076 4CL 204 CC M
    077 4DM 205 CD H
    078 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 5AZ 218 DA Kommersant
    091 5B[ 219 DB S
    092 5C\ 220 DC B
    093 5 boyutlu] 221 DD E
    094 5E^ 222 Almanya
    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 6AJ 234 EA İle
    107 6Bk 235 EB ben
    108 6Cben 236 AB M
    109 6DM 237 ED N
    110 6EN 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 7Az 250 FA B
    123 7B{ 251 Facebook S
    124 7C| 252 FC B
    125 7D} 253 FD uh
    126 7E~ 254 F.E. Yu
    127 7FUzman SİL 255 FF BEN
    Windows karakter kodlarının ASCII tablosu.
    Ö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. Kod Açıklama
    SIFIR, 00Boş, boş
    SO-01Başlangıcı
    STX 02TeXt'in başlangıcı, metnin başlangıcı.
    ETX 03TeXt'in Sonu
    EOT, 04İletimin Sonu
    ENQ, 05Sormak. Lütfen onaylayın
    AK, 06Teşekkürler. onaylıyorum
    B.E.L.07Zil, ara
    BS 08Geri al, bir karakter geri git
    SEKME, 09Sekme, yatay sekme
    LF, 0ASatır Besleme, satır besleme.
    Artık çoğu programlama dilinde \n olarak gösterilir.
    GT, 0BDikey Sekme, dikey tablolama.
    FF, 0CForm beslemesi, sayfa beslemesi, yeni sayfa
    CR, 0DSatırbaşı
    Artık çoğu programlama dilinde \r olarak gösterilir.
    yani, 0EShift Out, yazıcıdaki mürekkep şeridinin rengini değiştirin
    SI, 0FKaydırma, baskı aygıtındaki mürekkep şeridinin rengini geri döndürür
    DLE, 10Data Link Escape, veri iletimine geçiş yapan kanal
    DC1, 11
    DC2, 12
    DC3, 13
    DC4, 14
    Cihaz Kontrolü, cihaz kontrol sembolleri
    NAK 15Olumsuz Onay, onaylamıyorum.
    SENK, 16senkronizasyon. senkronizasyon sembolü
    ETB, 17Metin Bloğunun Sonu, metin bloğunun sonu
    CAN, 18İptal, daha önce geçilmiş bir işlemi iptal etme
    EM, 19Aracın Sonu
    ALT, 1Aİkame, ikame. İletim sırasında değeri kaybolan veya bozulan bir karakterin yerine yerleştirilir
    ESC, 1Bkaçış kaçış dizisi
    FS, 1CDosya Ayırıcı, dosya ayırıcı
    GS, 1 boyutluGrup Ayırıcı, grup ayırıcı
    RS, 1EKayıt Ayırıcı
    ABD, 1FBirim Ayırıcı, birim ayırıcı
    DEL, 7FSil, 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 ekleme

    Yalnı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 ekleme

    Bir 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 ekleme

    Bir 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.

    Sembol tablosunu kullanma

    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.

    glif

    glif

    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.

    glif

    glif

    Yazdırılmayan ASCII kontrol karakterleri

    Yazıcılar gibi bazı çevre birimlerini kontrol etmek için kullanılan karakterler ASCII tablosunda 0-31 arasında numaralandırılmıştır. Örneğin, sayfa besleme/yeni sayfa karakteri 12 rakamına karşılık gelir. Bu karakter, yazıcıya bir sonraki sayfanın başına gitmesini söyler.

    ASCII yazdırılamayan kontrol karakter tablosu

    Ondalık sayı

    İmza

    Ondalık sayı

    İmza

    Veri kanalı sürümü

    Başlık başlangıcı

    İlk cihaz kontrol kodu

    metnin başlangıcı

    İkinci cihaz kontrol kodu

    metnin sonu

    Üçüncü cihaz kontrol kodu

    İletimin sonu

    Dördüncü cihaz kontrol kodu

    beş köşeli

    Olumsuz onay

    Onayla

    senkronize aktarım modu

    ses sinyali

    Veri bloğunun sonu

    Yatay sekme

    medya sonu

    Satır besleme/yeni satır

    Yedek karakter

    Dikey sekme

    aşmak

    Sayfa Çevirisi/Yeni Sayfa

    on iki

    Dosya ayırıcı

    Satırbaşı

    Grup ayırıcı

    Basamak kaydetmeden kaydırma

    Kayıt ayırıcı

    Bit koruyan kaydırma

    onbeş

    Veri ayırıcı