internet pencereler Android
Genişletmek

ASCII kodunun standart kısmı. ASCII Kodlama (Bilgi Kavşağı için Amerikan Standart Kodu) - Temel Latiza Metin Kodlama

Merhaba, Sevgili Blog Okuyucular web sitesi. Bugün sizinle Krakoyarbra'nın hangi metin kodlamalarının var olduğu ve hangisinin kullanılması gerektiği programlardan ve programlardan geldiği hakkında konuşacağız. Temel ASCII'den, CP866, KOI8-R, Windows 1251'in genişletilmiş versiyonlarını ve Unicode UTF 16 ve 8 konsorsiyumunun modern kodlarıyla biten gelişmelerinin geçmişini ayrıntılı olarak düşünelim.

Birisi bu bilgi gereksiz görünebilir, ancak çatlakları tam olarak ilgilenen (bir karakter kümesi okumayan) bana ne kadar sorunun ne kadar olduğunu bileceksiniz. Şimdi herkesi bu makalenin metnine gönderme fırsatım olacak ve bağımsız olarak shoals'ınızı arayacağım. Bilgiyi emmeye hazır olun ve anlatımı izlemeye çalışın.

ASCII - Temel Latiza Metin Kodlama

Metin kodlamalarının gelişimi, BT endüstrisinin oluşumu ile aynı anda gerçekleşir ve bu süre zarfında oldukça az değişiklik geçireceklerdir. Tarihsel olarak, her şey, Rusça'lık Rusça telaffuzunda oldukça zararlıdır, bu da Latin alfabesinin, Arapça sayıların ve noktalama işaretlerinin kontrol sembolleriyle harflerini kodlamayı mümkün kılan.

Ancak yine de modern metin kodlamalarının geliştirilmesi için başlangıç \u200b\u200bnoktası ünlü olarak kabul edilmelidir. ASCII. (Rusça'da "Aski" olarak belirgin olan bilgi değişimi için Amerikan Standart Kodu). En sık kullanılan İngilizce konuşan kullanıcılardan - Latin harfleri, Arapça numaralar ve noktalama işaretleri olan ilk 128 karakteri açıklar.

ASCII'de açıklanan bu 128 karakterde bile, bazı servis sembolleri parantez, kafesler, yıldızlar vb. Tarafından ezildi. Aslında, kendin onları görebilirsin:

Bu, ASCII'nin ilk versiyonundan gelen 128 karakter standarttır ve herhangi bir kodlamada kesinlikle karşılaşacak ve böyle bir şekilde olacaklar.

Ancak gerçek şu ki, bilginin bir bayt yardımı ile, 128, ancak 256 farklı değer (iki dereceye eşit derecede 256), sonra taban versiyonu Aski bir dizi görünüyordu gelişmiş kodlamalar ASCII128 ana işarete ek olarak, ulusal kodlama sembollerini (örneğin, Rusça) kodlamak da mümkündü.

Burada, muhtemelen açıklamada kullanılan sayı sistemi hakkında biraz daha değer. Öncelikle, her şeyi bildiğiniz gibi, bilgisayar sadece bir ikili sistemde, yani sıfır ve birimler ("Boulev Cebir" ile ("Boulev Cebir" ile ("Boulev Cebir" ile birlikte çalışır. Her biri bir dereceye kadar bir inendir, sıfırdan başlayarak ve yedinci sırada two'lar:

Bu tür bir tasarımdaki tüm olası zero ve birimler kombinasyonlarının yalnızca 256 olabileceğini anlamak zor değildir. Çevir, ikili sistemden ondalık basamak. Tüm dereceleri yukarıdaki tüm dereceleri tek bir durdurmanız gerekir.

Örneğimize göre, 1 (2 ila sıfır) artı 8 (iki ila derece 3), artı 32 (beşinci derecede iki kez), artı 64 (altıncı), artı 128 (yedinci) . Toplam bir ondalık sayı sisteminde 233 alır. Gördüğünüz gibi, her şey çok basit.

Ancak masaya ASCII karakterleriyle bakarsanız, onaltılık kodlamada sunulduğunu göreceksiniz. Örneğin, "yıldız işareti", onaltılık bir sayı 2A'nın cenneti karşılık gelir. Muhtemelen, onaltılık bir sayı sisteminde, bir (ortalama on) 'den latin harfleri, onaltılık bir sayı sisteminde kullanıldığında (ortalama on) latin harfleri kullanılır.

Peki, için aktar İkili sayılar Onaltılık Bir sonraki basit ve görsel yola başvurun. Her bilgi baytı, yukarıdaki ekran görüntüsünde gösterildiği gibi dört bitin iki parçasına ayrılır. Yani Baytın her yarısında, ikili kod yalnızca on altı değer için (dördüncü derecede ikisi), onaltılık olarak kolayca temsil edilebilecek şekilde kodlanabilir.

Ayrıca, baytın sol yarısında, tekrar sıfırdan, ekran görüntüsünde gösterildiği gibi göz önünde bulundurmanız gerekecektir. Sonuç olarak, iyi olmayan bir bilgisayarla, E9 sayısının ekran görüntüsünde kodlandığını alıyoruz. Umarım aklımın kursu ve bu rebusun katılaşması anlaşılabilirdiniz. Şimdi devam edeceğiz, aslında metin kodlaması hakkında konuşacağız.

ASKI - CP866 ve KOI8-R kodlamasının uzatılmış versiyonları

Böylece, tüm modern kodlamaların gelişimi için bir başlangıç \u200b\u200bnoktası gibi olan ASCII hakkında konuşmaya başladık (Windows 1251, Unicode, UTF 8).

Başlangıçta, Latin alfabesinin sadece 128 belirtisi, Arapça sayılar ve orada başka bir şey, ancak genişletilmiş versiyonda, bir ezme bilgisinde kodlanabilecek tüm 256 değerin tümünü kullanmak mümkündü. Şunlar. Dilinin harflerinin sembollerini Aska'ya ekleme fırsatı.

Burada netleştirmek için bir kez daha dikkatini dağıtmak için gerekli olacak - neden kodlamaya ihtiyacın var? Metinler ve neden bu kadar önemlidir. Bilgisayarınızın ekranındaki karakterler, iki şeyin temelinde oluşturulur - her türlü karakterin vektör formları (temsilleri) kümeleri (dosya cinsinden) ve bu vektör şekil kümesini çıkarmanızı sağlayan kodlar ( Yazı Tipi Dosyası) Doğru yere eklenecek karakterdir.

Yazı tiplerinin vektör formlarından sorumlu olduğu açıktır, ancak işletim sistemi ve içinde kullanılan programlar kodlamadan sorumludur. Şunlar. Bilgisayarınızdaki herhangi bir metin, bu metnin tek bir sembolünün kodlandığı her birinde bir bayt kümesi olacaktır.

Bu metni ekranda (metin editörü, tarayıcı vb.) Gösteren program, kodu ayrıştırırken, bir sonraki işaretin kodlamasını okur ve ilgili vektör formunu arar İstenen dosya Bu metin belgesini görüntülemek için bağlı yazı tipi. Her şey basit ve trite.

Böylece, ihtiyacımız olan herhangi bir sembolü kodlamak için (örneğin, ulusal alfabeden), iki koşul tamamlanmalıdır - bu işaretin vektör formu kullanılan fontta olmalı ve bu sembol genişletilmiş ASCII kodlamalarında bir baytta kodlanabilir. . Bu nedenle, bir sürü bu tür seçenek var. Sadece Rus dilinin sembollerinin kodlanması için çeşitli eşek çeşitleri vardır.

Örneğin, başlangıçta ortaya çıktı Cp866.Rus alfabesinin sembollerini kullanmak mümkün olduğu ve bu ASCII'nin genişletilmiş bir versiyonuydu.

Şunlar. Üst kısmı, bir miktar daha yüksek verilen ekran görüntüsünde sunulan Aska'nın temel versiyonu (Latince, sayıların 128 sembolü ve başkaları) ile çakıştı. alt kısım CP866 kodlama tabloları, ekran görüntüsünde belirtilenlere biraz daha düşük ve başka bir 128 karakteri (Rus harfleri ve her sözde) kodlamasına izin verdi:

Bakınız, doğru sütunda, sayılar 8 ile başlar, çünkü 0 ile 7 arasındaki sayılar ASCII'nin taban kısmına bakın (ilk ekran görüntüsüne bakın). Yani CP866'daki Rusça "M" harfi 9C'ye sahip olacaktır (karşılık gelen satırların 9 ile, bir hexadecial sayı sisteminde C ile ilgili sütun ile kesişimindedir), bir bayt bilgisi içinde yazılabilir ve Rus karakterleri ile uygun bir yazı tipi var, bu mektup problemsiz metin olarak gösterilecektir.

Bu miktar nereden geldi? cP866'da psödograflar.? Bu, şu anki gibi grafik işletim sistemlerinin böyle bir dağılımının olmadığı zaman, bu parlak yıllarda bu parlak yıllarda geliştirilmiş olması. Ve dastik ve benzeri metin operasyonlarında, pseudografik en azından bir şekilde, metinlerin tasarımını çeşitlendirir ve bu nedenle CP866 ve tüm diğer satırları, ASA'nın genişletilmiş sürümlerinin boşalmasından kaynaklanır.

CP866 Dağıtılmış IBM Şirketi, ancak ek olarak, Rus dilinin sembolleri için bir dizi kodlama, örneğin, aynı tip (Genişletilmiş ASCII) atfedilebilir Koi8-r.:

Çalışmalarının ilkesi, daha sonra açıklanan CP866 ile aynı kaldı - her metin sembolü tek bir bayt tarafından kodlanır. Ekran görüntüsü KOI8-R tablosunun ikinci yarısını gösterir, çünkü İlk yarı, bu makaledeki ilk ekran görüntüsünde gösterilen taban ASUS ile tamamen tutarlıdır.

KOI8-R kodlamasının özellikleri arasında, masasındaki Rus harflerinin, örneğin CP866'da yaptığı gibi, bu gibi alfabetik sırayla olmadığı belirtilebilir.

İlk ekran görüntüsüne bakarsanız (tüm genişletilmiş kodlamalara giren ana kısım), Koi8-R'de, Rus harflerinin, latin alfabesinin ilk bölümünden, Latin alfabesinin harfleri olarak aynı tablolarda bulunduğunu fark edin. Masa. Bu, Rus sembollerinden Latince'den Latince'ye geçmenin rahatlığı için yapıldı (yedinci derecede iki ya da 128).

Windows 1251 - ASCII'nin modern bir versiyonu ve Crackels neden çıktı

Metin kodlamalarının daha fazla gelişmesi, grafik işletim sistemlerinin ve bunlara psödografi kullanması gerektiği gerçeğinden kaynaklanıyordu. Sonuç olarak, onların özünde, Aski'nin gelişmiş sürümleri olan bir bütün grup ortaya çıktı (bir metin sembolü, yalnızca bir büzülme bilgiyle kodlanmıştır), ancak pseudografik karakterler kullanmadan.

Amerikan Standardizasyon Enstitüsü tarafından geliştirilen ANSI kodlamasını tedavi ettiler. Kiril adı, Rus dilinin desteğiyle bir seçenek için hala kullanıldı. Böyle bir örnek örneği.

Önceden kullanılan CP866 ve KOI8-R'den, sözdedeki karakterlerin yerini, Rus tipografisinin (azalan işaret) eksik sembollerini ve Rus Slav'una yakın kullanılan sembollerin yanı sıra Diller (Ukrayna, Belarus, vb.):

Rus dilinin kodlarının bu bolluğu nedeniyle, yazı tipi ve üreticileri üreticileri yazılım Sürekli bir baş ağrısı ortaya çıktı ve seninle, sevgili okuyucular, genellikle en ünlü olanları aldılar. krakoYabryKarışıklık, metinde kullanılan versiyonla öğretildiğinde.

Mesaj gönderirken ve alırken çok sık çıktılar e-postaAslında, aslında bu sorunu kök içinde çözemediği ve sıklıkla yazışmalar için kullanıcıların oluşturulmasına neden olan çok karmaşık bir kodlama tablolarının yaratılmasına neden olan şey, bu tür CP866, KOI8-R veya Windows 1251'in Rus kodlamalarını kullanırken komik Krakozyabs'tan kaçınmak için kullanılmıştır.

Özünde, Rus metni yerine, Krakoyarbra, kodlamanın yanlış kullanımı sonucuydu. bu dilinBu, metin mesajının başlangıçta kodlandığı ile eşleşmemiş.

CP866 ile kodlanmış semboller, Windows 1251 kod tablosunu kullanarak, daha sonra bu en çok çatlak (anlamsız karakter kümesi) kullanarak görüntülenmeyi deneyin ve mesaj metnini tamamen değiştirmeyi deneyin.

Benzer bir durum çok sık, forumlar, forumlar veya bloglar, yanlışlıkla Rus karakterleri olan metin, varsayılan web sitesinde kullanılan kodlamaya kaydedilmediğinde veya metin düzelticiSebestin koduna eklenen, çıplak gözle görünmez.

Sonunda, birçok kodlamaya sahip ve sürekli sürünen bir durum, çok yorgun, birçok yorgun, yeni bir evrensel varyasyon yaratmanın önkoşulları vardı, bu da mevcut olanların yerini alacak ve son olarak, nihayetinde sorunların köküne okunabilir metinler. Buna ek olarak, dilin sembollerinin 256'dan fazla olduğu için benzer bir dilde bir sorun vardı.

Unicode (Unicode) - Universal Kodları UTF 8, 16 ve 32

Güneydoğu Asya'nın dil grubunun bu binlerce işareti, gelişmiş ASCII sürümlerinde karakter kodlama için ayrılan bir papat bilgisinde tanımlanamadı. Sonuç olarak, denilen bir konsorsiyum oluşturuldu. Unicode (Unicode - Unicode Consortium) Endüstrinin birçok liderinin işbirliğinde (Demir'i kimin oluşturan bir yazılım üreten, yazı tipi oluşturan bir yazılım oluşturanlar), evrensel bir metin kodlamasının ortaya çıkmasıyla ilgilenen.

Unicode konsorsiyumun himayesinde yayınlanan ilk varyasyon UTF 32.. Kodlamanın adındaki rakam, bir sembolü kodlamak için kullanılan bit sayısı anlamına gelir. 32 bit, yeni evrensel UTF kodlamasında tek bir işareti kodlamak için gerekli olacak 4 bayt bilgidir.

Sonuç olarak, aynı dosya, ASCII ve UTF-32'nin genişletilmiş sürümünde kodlanan metnin ikinci durumda olacak şekilde boyutuna (ağırlık) olacaktır. Kötü, ama şimdi UTF'nin yardımıyla iki ila otuz ikinci dereceye eşit olan işaret sayısını kodlama fırsatımız var ( milyarlarca karakterBu, herhangi bir gerçek değeri devasa bir marjla kapsayacak).

Ancak, Avrupa Grubu'nun dilleriyle birçok ülke, kodlamada kullanılması çok fazla sayıda işarete sahiptir ve ancak UTF-32'yi kullanırken, dört zamanlı bir artış almadılar. Metin belgelerinin ağırlığında ve sonuç olarak, internet trafiğinde bir artış ve hacim depolanmış veriler. Bu çok ve hiç kimse bu tür atıkları karşılayamaz.

Unicode'nin gelişmesinin bir sonucu olarak ortaya çıktı UTF-16.Bu, bu kadar başarılı ortaya çıktı ki, kullandığımız tüm karakterler için temel bir alan olarak varsayılan olarak kabul edildi. Bir işareti kodlamak için iki bayt kullanır. Bu şeyin nasıl göründüğünü görelim.

Windows işletim sisteminde "Başlat" - "Programlar" - "Standart" - "Hizmet" - "Karakter Tablosu" yolunu geçebilirsiniz. Sonuç olarak, bir masa, fontlarınızda yüklü olan tüm vektör formlarıyla açılır. "Ek parametreler" bölümünü seçerseniz, bir Unicode karakter kümesi, her bir yazı tipini ayrı ayrı görebilirsiniz. İçinde bulunan tüm karakterler aralığı.

Bu arada, bunlardan herhangi birine tıklayarak, onu iki kişi görebilirsiniz. uTF-16 formatında koddört onaltılık haneden oluşan:

UTF-16'da 16 bit kullanılarak kaç karakter kodlanabilir? 65 536 (iki ila on altı) ve bu numara Unicode'daki temel alan için alındı. Buna ek olarak, bununla ve yaklaşık iki milyon karakterle kodlamanın yolları vardır, ancak bir milyon metin sembolündeki genişletilmiş alanla sınırlıdır.

Fakat Unicode'nin kodlamasının bu başarılı versiyonu bile, örneğin, yalnızca İngilizce olarak programlar, çünkü ASCII'nin genişletilmiş sürümünden UTF-16'ya geçtikten sonra, belgelerin ağırlığı iki kez arttıktan sonra da çok memnun değildi. (Biri başına bir bayt, ASKI'deki sembol ve UTF-16'da aynı sembolde iki bayt).

Bu tam olarak herkesi tatmin etmek ve tüm unicode konsorsiyumundaki tümü gelmeye karar verdi. değişken uzunluğu kodlama. O utf-8 olarak adlandırıldı. Başlığın sekizine rağmen, gerçekten bir değişken uzunluğu var, yani. Her metin simgesi, bir ila altı bayt dizisine kodlanabilir.

Uygulamada, UTF-8, yalnızca bir ila dört bayttan bir aralık kullanır, çünkü herhangi bir şeyi kodun dört baytına göndermek için teorik olarak mümkün bir şey yoktur. Tüm Latin işaretleri bir baytta ve eski iyi ASCII'de kodlanmıştır.

Dikkat çekici olanı, yalnızca Latince kodlama durumunda, Unicode'u anlamayan bu programlar bile UTF-8'de kodlanmış olanı okuyacaktır. Şunlar. Aska'nın temel kısmı, bu sadece Unicode konsorsiyumunu kapattı.

UTF-8'deki Kiril işaretleri, iki bayt içine kodlanır ve örneğin Gürcüce - üç baytta. UTF 16 ve 8'in yaratılmasından sonra Unicode Consortium, ana soruna karar verdi - şimdi yazı tiplerinde tek bir kod alanı var. Ve şimdi üreticileri sadece metin sembollerinin vektör formlarıyla doldurma güçleri ve fırsatları temelinde kalır. Şimdi takımlarda bile.

Aşağıdaki sembol tablosunda, farklı fontların farklı sayıda karakteri desteklediği görülebilir. Unicode yazı tiplerinin bazı sembolleri çok iyi tartılabilir. Ancak şimdi farklı kodlamalar için yaratıldıkları gerçeğiyle ayırt edilmezler, ancak font üreticisinin tek kod alanını ya da diğer vektör formları tarafından tek kod alanını doldurmadan veya doldurmadığı gerçeğiyle.

KrakoYabry Rus mektupları yerine - nasıl düzeltilir

Şimdi Crakozyabe metninin metin yerine 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, bu aynı metni oluşturduğunuz veya düzenleyeceğiniz programda metin parçalarını kullanarak ayarlanmıştır.

Metin dosyalarını düzenlemek ve oluşturmak için, bence şahsen çok iyi kullanıyorum. Bununla birlikte, sözdizimini hala iyi yüzlerce programlama dilini ve işaretlemesini vurgulayabilir ve ayrıca eklentilerle genişletme yeteneğine sahiptir. Okumak detaylı inceleme Bağlantıya göre bu harika program.

Not Defteri ++ üst menüsünde, mevcut bir seçeneği varsayılan sitenizde kullanılan birine dönüştürme yeteneğine sahip olacağınız bir "kodlama" öğesi vardır:

Joomla 1.5 ve üzeri bir site durumunda, WordPress'de bir blog durumunda, Krakyar'ın görünümünü önlemek için seçeneği seçmelisiniz. UTF 8 BOM'suz. BOM öneki nedir?

Gerçek şu ki, ETF-16 kodlaması geliştirildiğinde, bazı nedenlerden dolayı, böyle bir şeyi, hem doğrudan sırayla (örneğin, 0A15) hem de ters (150A) bir sembol kodunu kaydetme yeteneği olarak tutturmaya karar verdi. . Ve programların hangi sırayı okuma kodlarını anlamaları için ve icat edilmesi için BOM. (Byte sipariş işareti veya başka bir deyişle, imza), bu da belgelerin başlangıcına üç ek bayt eklemede ifade edilmiştir.

UTF-8 kodlamasında, Unicode Consortium'da hiçbir BOM yoktu ve bu nedenle imza ekleyerek (bu en ünlü ek üç bayt, belgenin başlangıcına kadar) bazı programlar kodu okumayı önler. Bu nedenle, biz her zaman, UTF'deki dosyaları kaydederken, BOM'suz bir seçenek seçmelisiniz (imza olmadan). Yani şimdi peşin kendinizi çatlamadan gizlemek.

Dikkate değer olan, Windows'taki bazı programlar bunu nasıl yapacağınızı bilmiyor (metni, BOM'suz UTF-8'deki metni kaydetme), örneğin, aynı komuta notebook pencereleri. Belgeyi UTF-8'de kaydeder, ancak yine de başlangıcına imza ekler (üç ek bayt). Dahası, bu baytlar her zaman aynı olacaktır - kodu doğrudan sırayla okuyun. Ancak sunucularda, bu küçük şeyler nedeniyle, bir sorun olabilir - Crackels çıkacak.

Bu nedenle, hiçbir durumda her zamanki notebook pencerelerini kullanmayın Sitenizin belgelerini düzenlemek için, Krakoyarbra'nın görünümünü istemiyorsanız. Daha önce de belirtilen not defteri ++ editörü için en son ve en kolay seçeneği, pratik olarak dezavantajları olmayan ve avantajlardan birinden oluşan seçeneklerini düşünüyorum.

Not Defteri ++ 'da bir kodlama seçerken, metni UCS-2 kodlamaya dönüştürme yeteneğine sahip olacaksınız, bu da UsSence'daki Unicode Standard'a çok yakın olan UCS-2 kodlamasına dönüştürebilirsiniz. Ayrıca, ANSI, yani ANSI'de kodlanmış bir şekilde kodlanabilir. Rus diline referansla, bu zaten Windows 1251'in hemen yanında tarif edilecektir. Bu bilgi nereden geliyor?

Ameliyathanenizin sicilinde yazıldığından windows Sistemleri - ANSI durumunda hangi kodlamayı, OEM durumunda ne seçeceğiniz (Rus dili için CP866 olacak). Bilgisayarınıza bir varsayılan dil yüklerseniz, bu kodlamalar aynı dil için ANSI veya OEM akıntılarına benzer şekilde değiştirilecektir.

Not Defteri ++ bölümünde, belgeyi kodlamaya yönelik kodlamaya kaydetme veya bir belgeyi düzenlemek için düzenleyicinin sağ alt köşesinde, adını görebileceğiniz:

Krakoyarbrov'u önlemek içinYukarıda açıklanan eylemler dışında, kapağına kayıt olmak için yararlı olacaktır. kaynak kodu Tüm site sayfaları bu kodlama hakkında bilgi, böylece sunucu veya yerel ana bilgisayar oluşmaz.

Genel olarak, HTML dışındaki hipertext işaretinin tüm dillerinde, metni kodlamayı belirten özel bir XML reklamı kullanılır.

Kodu sökmeye başlamadan önce, tarayıcı hangi sürümün kullanıldığını ve bu dilin karakterlerinin kodlarını tam olarak nasıl yorumlamanız gerektiğini öğrenecektir. Ancak, belgeyi varsayılan Unicode'da kaydetmeniz durumunda, bu XML bildirimi atlanabilir (kodlama, bir BOM veya UTF-16 yoksa, kodlama UTF-8 olarak kabul edilir).

Bir belge durumunda hTML Dili Kullanılan kodlamayı belirtmek için meta elemanıaçılış ve kapama başı etiketi arasında reçete edilir:

... ...

Bu giriş kabul edilen B'den oldukça farklıdır, ancak tamamen HTML 5 standardı tarafından yavaşça tanıtıldığına tamamen uygundur ve kullanılan herkes tarafından kesinlikle doğru bir şekilde anlaşılır. şu an tarayıcılar.

Teoride, kodlama göstergesi olan meta elemanı HTML belgesi Koymak daha iyi dock başlığında mümkün olduğu kadar yüksekBöylece, ilk işaretin metnindeki toplantı sırasında (her zaman her zaman ve herhangi bir varyasyonda okuyan), tarayıcının bu karakterlerin kodlarını nasıl yorumlayacağınız hakkında bilgi sahibi olmalıdır.

Sana iyi şanslar! Blog sayfalarında belirsiz toplantılara web sitesi

devam edebileceğiniz daha fazla makaraya bakın
");">

İlgilenebilirsin

URL adresleri, site için mutlak ve göreceli bağlantılar arasındaki farkın içindekiler nedir?
OpenServer - Modern yerel sunucu ve kullanımının bir örneği wordpress kurulumları bilgisayarda
Dosya ve klasör atama haklarına (777, 755, 666) ve PHP üzerinden nasıl yapılacağı CHMOD nedir?
Giriş yap Site ve Online Mağazada Yandex

Sembol kaplaması

BS sembolü sayesinde (adıma geri dön), diğer tarafta bir karakter yazıcıya yazdırılabilir. ASCII'de, örneğin harflere diocritik eklemek için ele alınmıştır:

  • bir BS "→ Á
  • bir BS `→ à
  • bir BS ^ → Â
  • o BS / → Ø
  • c BS, → Ç
  • n bs ~ → ñ

Not: Eski yazı tiplerinde KESTROPHE "Sola bir eğim çekti ve Tilda ~ kaydırıldı, böylece Akut ve Tilde'nin rolünü yukarıdaki rolüne uyuyorlardı.

Aynı sembol sembolü üst üste bindirilirse, cesur yazı tipinin etkisi elde edilir ve eğer vurgu sembolü üzerinde üst üste bindirilirse, metni engeller.

  • a BS A → a.
  • bir BS _ → a.

Not: Bu, örneğin Adam referans sisteminde kullanılır.

Ulusal ASCII seçenekleri

ISO 646 (ECMA-6) standardı, ulusal karakterleri yerine yerleştirme olasılığını sağlar @ [ \ ] ^ ` { | } ~ . Buna ek olarak, yerinde # Yerleştirilebilir £ , ve yerinde $ - ¤ . Böyle bir sistem, yalnızca birkaç ek karakterin ihtiyaç duyduğu Avrupa dilleri için çok uygundur. Ulusal semboller olmayan bir ASCII versiyonu US-ASCII veya "Uluslararası Referans Sürümü" olarak adlandırılır.

Daha sonra, kod tablosunun (0-127) alt yarısının ABD-ASCII karakterlerini işgal ettiği ve üst (128-255) dahil olmak üzere, kod tablosunun (0-127) alt yarısının (128-255) dahil olmak üzere 8 bit kodlamaları (kod sayfalarını) kullanmak daha uygun ortaya çıktı. bir dizi ulusal sembol. Böylece, ASCII tablosunun Unicode'nin her yerde uygulanmasına kadar üst yarısı, yerelleştirilmiş sembolleri, yerel harfleri temsil etmek için aktif olarak kullanıldı. ASCII tablosundaki Kiril karakterleri yerleştirmek için tek bir standardın yokluğu, birçok kodlama problemini (KOI-8, Windows-1251 ve diğerleri) verdi. Yazarsız yazılı olmayan diğer diller, birkaç farklı kodlamanın varlığı nedeniyle de acı çekmiştir.

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A.a. .B .C.c. .D. .E.e. .F.
0. Nul. SOM Eoa. EOM. EQT. Wru. Ru Zil. Bksp. Ht Lf. Vt. Ff. Cr YANİ.
1. DC 0. DC 1. DC 2. DC 3. DC 4. Err. Senkronizasyon. Lem. S 0. S 1 S 2. S 3. S 4. S 5. S 6. S 7.
2.
3.
4. Boş ! " # $ % & " ( ) * + , - . /
5. 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
6.
7.
8.
9.
A. @ A. B. C. D. E. F. G. H. BEN. J. K. L. M. N. Ö.
B. P. S. R. S. T. U V. W. X. Y. Z. [ \ ]
C.
D.
E. a. b. c. d. e. f. g. h. bEN. j. k. l. m. n. Ö.
F. p. s. r. s. t. u v. w. x. y. z. ESC Del.

Minimal adreslenebilir bellek biriminin 36 bitlik bir kelimenin olduğu bilgisayarlarda, başlangıçta 6 bit karakterler kullanıldı (1 kelime \u003d 6 karakter). Bu tür bilgisayarlarda ASCII'ye geçtikten sonra, 5 yedi bit karakter bir kelimeye yerleştirilmeye başlandı (1 bit gereksiz kaldı) veya 4 ninbitant karakter.

ASCII kodları, programlama altındaki anahtarı belirlemek için de kullanılır. Standart Qwerty Tuş Takımı için, kod tablosu şöyle görünür:

Metnin yazıldığı birçok karakter alfabe.

Alfabedeki karakter sayısı güç.

Bilgi sayısını belirlemek için formül: N \u003d 2 b,

n, alfabenin gücü (karakter sayısı),

b - bit sayısı (sembol bilgisi).

256 karakter gücüne sahip alfabe neredeyse tüm gerekli karakterleri yerleştirilebilir. Böyle bir alfabe denir yeterli.

Çünkü 256 \u003d 2 8, sonra ağırlık 1 sembolü - 8 bit.

Ölçüm Birimi 8 Bits Uygun Ad 1 bayt:

1 byte \u003d 8 bit.

Bilgisayar metnindeki her sembolün ikili kodu 1 bellek baytı alır.

Bilgisayarın hafızasında hangi şekilde metin bilgisi sunulur?

Over-off sembolü kodlamanın rahatlığı açıktır, çünkü baytlar - hafızanın en küçük tarafsız kısmı ve bu nedenle işlemci, her karakterine metin işleme yaparak ayrı ayrı başvurabilir. Öte yandan, en çok çeşitli sembolik bilgiyi temsil edecek kadar 256 karakter yeterlidir.

Şimdi soru, her sembolle aynı sıraya girecek sekiz bit ikili kodu ortaya çıkar.

Bunun şartlı bir konu olduğu açıktır, birçok kodlama yöntemi ile gelebilirsiniz.

Bilgisayar alfabesinin tüm sembolleri 0 ila 255 arasında numaralandırılır. Her sayının sekiz bit türleri. İkili kod 00000000 ila 11111111'e kadar. Bu kod, ikili sayı sistemindeki sembolün sekans numarasıdır.

Bilgisayar alfabesinin tüm karakterlerinin sekans numaralarına uygun olarak yapıldığı bir tablo, kodlama tablosu olarak adlandırılır.

İçin farklı şekiller Eum, çeşitli kodlama tablolarını kullanır.

PC için uluslararası standart bir masa haline geldi ASCII.(Aski okuma) (bilgi alışverişi için Amerikan standart kodu).

ASCII Kod tablosu iki bölüme ayrılmıştır.

Uluslararası standart sadece masanın ilk yarısıdır, yani. Numaralı semboller 0 (00000000), önce 127 (01111111).

ASCII kodlayan masa yapısı

Seri numarası

Kodu

Sembol

0 - 31

00000000 - 00011111

0'dan 31'e kadar olan sayılarla semboller denir.
Onların işlevleri, ekranda metin çıkışı veya yazdırma işlemini kontrol etmek, ses sinyali, metin işaretlemesi vb.

32 - 127

00100000 - 01111111

Masanın standart kısmı (İngilizce). Bu, Latin alfabesinin, ondalık sayıları, noktalama işaretlerinin, her türlü parantez, ticari ve diğer karakterlerin küçük harf ve büyük harfleri içerir.
Sembol 32 - Uzay, yani. Metinde boş pozisyon.
Diğerleri belirli işaretlerle yansıtılır.

128 - 255

10000000 - 11111111

Masanın alternatif kısmı (Rusça).
ASCII Kod tablosunun ikinci yarısı, kod sayfası (10.000.000.000.000.000 ile başlayan 128 kod) olarak adlandırılan, farklı seçeneklere sahip olabilir, her seçeneğin kendi numarasına sahip olabilir.
Kod sayfası öncelikle Latin dışındaki ulusal alfabeleri barındırmak için kullanılır. Rus ulusal kodlamalarında, Rus alfabesinin sembolleri masanın bu kısmına yerleştirilir.

ASCII kodlarının ilk yarısı


Dikkatinizi, harfin (büyük harf ve küçük harf), alfabetik sırayla düzenlenmesi durumunda dikkatinizi çekiyorum ve sayıların değerleri artan değerlerle sıralanır. Sembollerin düzenlenmesindeki sözlüksel siparişe bağlı olarak, alfabenin sıralı kodlama prensibi olarak adlandırılır.

Rus alfabesinin harfleri için seri kodlama ilkesi de gözlenir.

ASCII kodlarının ikinci yarısı


Ne yazık ki, şu anda beş farklı Kiril kodlaması var (KOI8-P, Windows. MS-DOS, Macintosh ve ISO). Bu nedenle, problemler genellikle Rus metninin bir bilgisayardan diğerine transferi ile ortaya çıkıyor yazılım sistemi başka bir.

Kronolojik olarak, bilgisayarlarda Rus harflerini kodlayan ilk standartlardan biri KOI8 ("bilgi alışverişi kodu, 8 bit") idi. Bu kodlama, 70'lerde AB AB serisinin bilgisayarları üzerindeki ve 80'li yılların ortalarından UNIX işletim sisteminin ilk Ruslu versiyonlarında kullanılmaya başladı.

90'ların başından itibaren, MS DOS işletim sisteminin egemenliğinin zamanı, CP866 kodlama 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ı Standartlar Örgütü, ISO), Rus dili için standart olarak ISO 8859-5 olarak adlandırılan başka bir kodlamayı onayladı.

En yaygın şu anda kodlanıyor. Microsoft Windows.CP1251'in azaltılmasıyla gösterilir.

90'ların sonundan bu yana, sembol kodlamasının standardizasyonu sorunu, yeni bir uluslararası standartların tanıtılmasıyla çözülür. Unicode.. Bu, 16 bitlik bir kodlama, yani. İçinde, her sembolün 2 bayt bellek verilir. Tabii ki, hafızanın miktarı 2 kez işgal edildi. Ancak bu kod tablosu 65536 karaktere kadar etkinleştirmenize olanak sağlar. Unicode standardının tam olarak özellikleri, dünyanın mevcut, soyu tükenmiş ve yapay olarak oluşturulan tüm alfabelerini, birçok matematiksel, müzikal, kimyasal ve diğer semboller içerir.

Kelimelerin bilgisayarın hafızasına nasıl görüneceğini hayal etmek için ASCII tablosunu kullanmaya çalışalım.

Bilgisayar hafızasında dahili kelime görünümü

Bazen, başka bir bilgisayardan elde edilen, Rus alfabesinin harflerinden oluşan metnin okunamıyor - bazı "Abrakadabra" monitör ekranında görünebilir. Bu, bilgisayarlar, Rus dilinin sembollerinin farklı kodlamalarını kullandığı için olur.

Aralık Hex. Sembol Aralık Hex. Sembol
000 00 uzman. Nop. 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. Enq 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. YANİ. 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. YAPABİ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 1f.uzman. BİZE. 159 9f.џ
032 20 fincan. 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.E.
041 29 ) 169 A9.©
042 2a.* 170 AA.Є
043 2b.+ 171 Ab«
044 2c., 172 AC¬
045 2d.- 173 Reklam­
046 2e.. 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.e.
057 39 9 185 B9.
058 3 A: 186 BA.є
059 3b.; 187 Bb.»
060 3c.< 188 M.Ö.ј
061 3 boyutlu= 189 BD.Ѕ
062 3e.> 190 Olmak.ѕ
063 3f.? 191 Bf.ї
064 40 @ 192 C0. FAKAT
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. J.
071 47 G. 199 C7 Z.
072 48 H. 200 C8. VE
073 49 BEN. 201 C9. J.
074 4a.J. 202 CA. İçin
075 4b.K. 203 Cb. L.
076 4c.L. 204 Cc. M.
077 4d.M. 205 CD N.
078 4e.N. 206 CE HAKKINDA
079 4f.Ö. 207 Cf. P
080 50 P. 208 D0 R
081 51 S. 209 D1. Dan
082 52 R. 210 D2. T.
083 53 S. 211 D3. W.
084 54 T. 212 D4. F.
085 55 U 213 D5. H.
086 56 V. 214 D6. C.
087 57 W. 215 D7. C.
088 58 X. 216 D8. Sh
089 59 Y. 217 D9. Sh
090 5aZ. 218 Da Komment
091 5b.[ 219 Db S
092 5c.\ 220 Dc B
093 5d.] 221 Dd E.
094 5e.^ 222 De. Yu
095 5f._ 223 Df. ben
096 60 ` 224 E0 fakat
097 61 a. 225 E1 b.
098 62 b. 226 E2. içinde
099 63 c. 227 E3. g.
100 64 d. 228 E 4. d.
101 65 e. 229 E5 e.
102 66 f. 230 E6. j.
103 67 g. 231 E7. z.
104 68 h. 232 E8. ve
105 69 bEN. 233 E9. j.
106 6aj. 234 EA. için
107 6b.k. 235 Eb. l.
108 6c.l. 236 EC m.
109 6d.m. 237 Edemek n.
110 6e.n. 238 Ee hakkında
111 6f.Ö. 239 Ef. p
112 70 p. 240 F0. r
113 71 s. 241 F1. dan
114 72 r. 242 F2. t.
115 73 s. 243 F3. w.
116 74 t. 244 F4. f.
117 75 u 245 F5. h.
118 76 v. 246 F6 c.
119 77 w. 247 F7. c.
120 78 x. 248 F8. sh
121 79 y. 249 F9. sh
122 7a.z. 250 Fa. komment
123 7b.{ 251 Fb. s
124 7c.| 252 Fc. b
125 7d.} 253 Fd. e.
126 7e.~ 254 Fe. yu
127 7f.Uzman. Del. 255 Ff. ben

ASCII Windows sembolleri tablosu.
Özel (yönetme) karakterlerin açıklaması

ASCII tablosunun başlangıçta kontrol sembollerinin, telethip verilerinin değişimini sağlamak için kullanıldığı, nokteentlerle veri girişi ve harici cihazların en basit yönetimi için kullanıldığı belirtilmelidir.
Şu anda, yöneticilerin çoğu semboller ASCII. Masalar artık bu yükü taşımıyor ve başka amaçlar için kullanılabilir.
Kodu Açıklama
Nul, 00.Boş, boş
SOH, 01.Başlık başlangıcı, başlık başlangıcı
Stx, 02.Metin başlangıcı, metnin başlangıcı.
ETX, 03. Metin Sonu, Son Metin
Eot, 04.İletimin sonu, transferin sonu
Enq, 05.Sormak. Lütfen onaylayın
ACK, 06.Onaylama. Onaylamıyorum
Bel, 07.Çan, çan
BS, 08.Backspace, bir karaktere geri dön
Sekme, 09.Sekme, yatay tablolama
Lf, 0a.Çizgi besleme, satır çeviri.
Artık çoğu programlama dilinde \\ n olarak belirtilir.
Vt, 0b.Dikey sekme, dikey sekmesi.
Ff, 0c.Form Feed, Sayfa Koşusu, Yeni Sayfa
Cr, 0d.Satır başı geri dönüş, geri dönüş carets.
Şimdi çoğu programlama dilinde, \\ r olarak belirtilir.
Öyleyse 0e. Vardiya, baskı cihazındaki boyama şeritinin rengini değiştirin
Si, 0f. Vardiya, baskı cihazındaki boyama şeritinin rengini geri döndürün
Dle, 10. Veri Bağlantısı Kaçış, Veri İletimine Kanalı Anahtarlama
DC1, 11.
DC2, 12.
DC3, 13.
DC4, 14.
Cihaz kontrolü, cihaz yönetimi sembolleri
Nak, 15.Olumsuz kabul, onaylamayın.
SYN, 16.Senkronizasyon. Senkronizasyon sembolü
ETB, 17.Metin bloğunun sonu, metin bloğunun sonu
18.İptal, İptal Edilen Daha Önceki İptal Edildi
Em, 19.Ortamın sonu, veri taşıyıcısının sonu
SUB, 1A.Yerine geçme, yerine. Aktarım sırasında kaybedilen veya şımarık olan sembolün sitesine yerleştirilir.
Esc, 1b.Kaçış kontrol dizisi
FS, 1C.Dosya ayırıcı, dosya ayırıcı
GS, 1D.Grup ayırıcı, grup ayırıcı
Rs, 1e.Kayıt ayırıcı, kayıt ayırıcı
ABD, 1F.Birim Ayırıcı, Birim Ayırıcı
Del, 7f.Sil, son sembolü sil.

[8 bit kodlama: ASCII, KOI-8R ve CP1251] Amerika Birleşik Devletleri'nde oluşturulan ilk kodlama tabloları, ezmede sekizinci bit kullanmadı. Metin bir bayt dizisi olarak sunuldu, ancak sekizinci bit dikkate alınmadı (resmi amaçlar için uygulandı).

Tablo, genel olarak kabul edilen bir standart haline geldi. ASCII. Bilgi değişimi için Amerikan Standart kodu). Yazdırılamayan karakterler için ilk 32 ASCII tablo sembolü (00'dan 1f arasında) kullanılmıştır. Baskı cihazını vb. Kontrol etmek için tasarlandı. Gerisi 20 ila 7f - normal (basılı) karakterler.

Tablo 1 - ASCII kodlaması

AralıkHex.Oct.Char.Açıklama.
0 0 000 bOŞ
1 1 001 başlık başlangıcı
2 2 002 metin başlangıcı.
3 3 003 metnin sonu.
4 4 004 İletimin sonu.
5 5 005 soruşturma.
6 6 006 onaylamak.
7 7 007 zil.
8 8 010 backspace.
9 9 011 yatay sekme.
10 A. 012 yENİ HAT
11 B. 013 dikey sekmesi.
12 C. 014 yeni sayfa
13 D. 015 satırbaşı.
14 E. 016 değişti.
15 F. 017 vARDİYA.
16 10 020 veri bağlantısı kaçış.
17 11 021 cihaz kontrolü 1.
18 12 022 cihaz kontrolü 2.
19 13 023 cihaz Kontrolü 3.
20 14 024 cihaz kontrolü 4.
21 15 025 olumsuz kabul.
22 16 026 senkron boşta
23 17 027 trans sonu. blok
24 18 030 İptal etmek.
25 19 031 ortamın sonu
26 1 A. 032 vekil.
27 1b. 033 kaçış.
28 1c. 034 dosya ayırıcı.
29 1d. 035 grup ayırıcı.
30 1e. 036 kayıt ayırıcı.
31 1f. 037 birim ayırıcı.
32 20 040 uzay.
33 21 041 !
34 22 042 "
35 23 043 #
36 24 044 $
37 25 045 %
38 26 046 &
39 27 047 "
40 28 050 (
41 29 051 )
42 2a. 052 *
43 2b. 053 +
44 2c. 054 ,
45 2d. 055 -
46 2e. 056 .
47 2f. 057 /
48 30 060 0
49 31 061 1
50 32 062 2
51 33 063 3
52 34 064 4
53 35 065 5
54 36 066 6
55 37 067 7
56 38 070 8
57 39 071 9
58 3 A 072 :
59 3b. 073 ;
60 3c. 074 <
61 3 boyutlu 075 =
62 3e. 076 >
63 3f. 077 ?
AralıkHex.Oct.Char.
64 40 100 @
65 41 101 A.
66 42 102 B.
67 43 103 C.
68 44 104 D.
69 45 105 E.
70 46 106 F.
71 47 107 G.
72 48 110 H.
73 49 111 BEN.
74 4a. 112 J.
75 4b. 113 K.
76 4c. 114 L.
77 4d. 115 M.
78 4e. 116 N.
79 4f. 117 Ö.
80 50 120 P.
81 51 121 S.
82 52 122 R.
83 53 123 S.
84 54 124 T.
85 55 125 U
86 56 126 V.
87 57 127 W.
88 58 130 X.
89 59 131 Y.
90 5a 132 Z.
91 5b. 133 [
92 5c. 134 \
93 5d. 135 ]
94 5e. 136 ^
95 5f. 137 _
96 60 140 `
97 61 141 a.
98 62 142 b.
99 63 143 c.
100 64 144 d.
101 65 145 e.
102 66 146 f.
103 67 147 g.
104 68 150 h.
105 69 151 bEN.
106 6a 152 j.
107 6b. 153 k.
108 6c. 154 l.
109 6d. 155 m.
110 6e. 156 n.
111 6f. 157 Ö.
112 70 160 p.
113 71 161 s.
114 72 162 r.
115 73 163 s.
116 74 164 t.
117 75 165 u
118 76 166 v.
119 77 167 w.
120 78 170 x.
121 79 171 y.
122 7a. 172 z.
123 7b. 173 {
124 7c. 174 |
125 7d. 175 }
126 7e. 176 ~
127 7f. 177 Del.

Bildirimi kolaydır, bu kodlamada sadece Latin harfleri ve İngilizce olarak kullanılanlar sunulur. Aritmetik ve diğer servis karakterleri de vardır. Ancak Almanca ya da Fransızca için ne Rus harfleri, hatta özel latin yok. Açıklaması kolaydır - kodlama bir Amerikan standardı olarak geliştirilmiştir. Bilgisayarlar tüm dünyada uygulanmaya başladığında, diğer karakterleri kodlamak gerekliydi.

Bunu yapmak için, her bir ezmenin sekizinci bitini kullanmaya karar verildi. Böylece, karakterleri kodlamak için kullanılabilecek 128 daha fazla değer (80 ila FF) mevcuttu. Sekiz bit tabloların ilki "Gelişmiş ASCII" ( Uzatılmış ASCII.) - Batı Avrupa'nın bazı dillerinde kullanılan Latin karakterlerinin çeşitli varyantlarını içerir. Ayrıca sahteografik dahil başka ek karakterleri vardı.

Pseudografik karakterler yalnızca ekranda metin sembollerini görüntülemenizi sağlar, bazı benzerlik grafikleri sağlayın. Örneğin, psödografinin yardımı ile, Far Manager dosyalarını yönetmek için bir program.

Genişletilmiş ASCII tablosundaki Rus harfleri değildi. Rusya'da (daha önce - SSCB) ve diğer eyaletlerde, kodlamaları oluşturuldu, 8 bit metin dosyalarındaki belirli "ulusal" sembollere izin verildi - Latin Leton ve Çek Dilleri, Kiril (Rus harfleri dahil) ve diğer alfabeler .

Dağıtımı alan tüm kodlamalarda, ilk 127 karakter (yani, 0), 0'a eşit bir sekiz biti eşit olan bayt değerleri ASCII ile çakışıyor. Böylece, ASCII dosyası bu kodlamaların herhangi birinde çalışır; Mektuplar İngilizce dilinin Eşit olarak temsil edilirler.

Organizasyon İso. Uluslararası Standartlaşma Örgütü - Uluslararası Standartlar Örgütü) Bir grup standart kabul etti ISO 8859.. 8 bit kodlamaları tanımlar. farklı gruplar Diller. Böylece, ISO 8859-1, ABD ve Batı Avrupa'nın bir tablosu olan genişletilmiş bir ASCII'dir. Ve ISO 8859-5 - Kiril için tablo (Rusça dahil).

Bununla birlikte, tarihsel nedenlerle, ISO 8859-5 kodlaması uymadı. Gerçekten, aşağıdaki kodlamalar Rusça için kullanılır:

Kod Sayfası 866 ( Cp866.), "DOS", "Alternatif GOST kodlaması" dir. 90'ların ortasına kadar yaygın olarak kullanılır; Şimdi sınırlı olarak kullanılır. Neredeyse internetteki metinleri dağıtmak için geçerli değildir.
- KOI-8. 70'lerde ve 1980'lerde geliştirildi. Rus internette posta mesajları göndermek için genel kabul görmüş bir standarttır. Yaygın olarak kullanılan işletim sistemleri Unix ailesi, Linux dahil. Rusça'da hesaplanan seçenek KOI-8, denir KOI-8R.; Diğer Kiril dilleri için versiyonlar var (yani, Koi8-U Ukrayna dili için bir seçenek).
- Kod Sayfası 1251, Cp1251, Windows-1251. Windows sisteminde Rus dilini desteklemek için Microsoft tarafından geliştirilmiştir.

CP866'nın ana avantajı, psödografinin karakterlerini genişletilmiş ASCII'de olduğu gibi aynı yerlerde korumaktı; Bu nedenle, yurtdışında çalışacak herhangi bir değişiklik olmuş olabilir. metin programlarıÖrneğin, ünlü Norton Komutanı. Şimdi CP866, Uzak Yönetici dahil, metin pencerelerinde veya tam ekran metin modunda çalışan Windows programları için kullanılır.

Son yıllarda CP866'daki metinler oldukça nadirdir (ancak Windows'ta Rus dosya adlarını kodlamak için kullanılır). Bu nedenle, KOI-8R ve CP1251 iki kodlamaya dayanacağız.



Gördüğünüz gibi, CP1251 kodlama tablosunda, Rus harfleri alfabetik sırayla düzenlenir (ancak, e harfleri hariç). Bu konum sayesinde bilgisayar programları Alfabetik olarak sıralamak çok kolay.

Ancak KOI-8R'de, Rus harflerinin sırası rastgele görünüyor. Ama aslında değil.

Birçok eski programda, 8. bit, işleme veya aktarma sırasında kayboldu. (Artık bu programlar pratik olarak "soyu tükenmiş", ancak 80'lerin sonunda - 90'ların başlarında yaygındı). 8 bitlik bir değerden 7 bit bir değer elde etmek için, kıdemli Şekil 8'den uzaklaşmak yeterlidir; Örneğin, E1 61'e dönüşür.

Ve şimdi KOI-8R'yi ASCII tablasıyla karşılaştırın (Tablo 1). Rus harflerinin Latince ile net bir eşleşmede bulunduğunu göreceksiniz. Sekizinci bit kaybolursa, küçük harfli Rus mektupları Latince ve küçük harflerdeki başkentlerin başlıklarına dönüşür. Böylece, KOI-8'de E1, Rusça "A", Ascii'de 61 - Latince "a".

Böylece KOI-8, Rus metninin 8. bitlerin kaybıyla okunabını sürdürmenizi sağlar. "Merhaba Herkese" "Priwet WSEM" dönüşür.

Son zamanlarda, kodlama tablosundaki sembollerin alfabetik sırası ve 8. bitin kaybı ile okunabilirliği çok önemli bir önemi kaybetti. Sekizinci Bit B. modern bilgisayarlar İletim sırasında veya işleme sırasında kaybolmaz. Ve kodlamayı dikkate alarak alfabetik olarak sıralama yapılır ve kodların basit bir karşılaştırılması değil. (Bu arada, CP1251 kodları tamamen alfabetik olarak değildir - ё harfi yerinde değildir).

İki ortak kodlamanın iki olduğu ortaya çıkması nedeniyle, İnternet ile çalışırken (Mail, Web Siteleri görüntüleme), bazen Rusça metin yerine anlamsız bir harf seti görmek bazen mümkündür. Örneğin, "Ben feedfamhel yapacağım." Bunlar sadece "saygılı" kelimeleridir; Ancak CP1251 kodlamasında kodlandı ve bilgisayar KOO-8 tablosundaki metni kodladı. Aynı kelimeler aksine, KOO-8'de kodlanmışsa ve bilgisayar, CP1251 tablosundaki metni kodladı, sonuç "Hchbceen'de" olacaktır.

Bazen bilgisayarın, Rusça konuşan harflerin ve hiç Rusça diline yönelik olmayan bir masada şifresini çözer. Sonra, Rus harfleri yerine, anlamsız bir karakter kümesi görünür (örneğin, Doğu Avrupa dillerinin latin harfleri); Genellikle "TCROCAMER" olarak adlandırılırlar.

Çoğu durumda, modern programlar internet belge kodlamalarının tanımı ile başa çıkıyor ( e-posta ve web sayfaları) kendi başlarına. Ama bazen "yaramazlık veriyorlar" ve sonra Rus harflerinin garip dizilerini veya "kroşikalibini" görebilirsiniz. Kural olarak, böyle bir durumda, bu metni görüntülemek için, kodlamayı program menüsünde manuel olarak seçmek yeterlidir.

Makale için, sayfa http://open-office.edusite.ru/textprocessor/p5aa1.html kullanılmıştır.

Malzeme siteden alınır: