31Aug

ANSI ve Unicode gibi karakter kodlamaları nedir ve bunlar nasıl farklı?

ASCII, UTF-8, ISO-8859. .. Bu tuhaf üniklerin etrafında dolaşmış olabilirsiniz, ancak aslında ne anlama geldiniz? Karakter kodlamanın ne olduğunu ve bu kısaltmaların ekranda gördüğümüz düz metinle nasıl ilgili olduğunu açıklarken okuduk.

Temel Yapı Taşları

Yazı dili hakkında konuşurken, harflerin sözcüklerin yapı taşları olduğuna ve daha sonra cümleler, paragraflar oluşturma vb. Konularından bahsediyoruz. Mektuplar sesleri temsil eden sembollerdir. Dil hakkında konuşurken, bir takım çeşit anlamlar oluşturmak üzere bir araya gelen ses gruplarından bahsediyorsunuz. Her dil sistemi, bu anlamları düzenleyen karmaşık bir kural ve tanımlar setine sahiptir. Bir sözünüz varsa, hangi dilden geldiğini bilmiyorsanız ve bu dili konuşan başkaları ile kullanmadıysan faydasızdır.

Bilgisayar dünyasında, "karakter" terimini kullanırız. Bir karakter, spesifik parametreler tarafından tanımlanan soyut bir kavramdır, ancak temel bir kavramdır.anlam birimi. Latince 'A' bir Yunan alfabesi veya Arap alfası ile aynı değildir, çünkü farklı bağlamlara sahiptirler - bunlar farklı dillerden ve biraz farklı telaffuzlara sahip - bu yüzden onların farklı karakterler olduklarını söyleyebiliriz. Bir karakterin görsel sunumu "glif" olarak adlandırılır ve gliflerin farklı kümelerine yazı tipi denir. Karakter grupları bir "küme" ya da bir "repertuar" a aittir.

Bir paragraf yazarken ve fontu değiştirirken, harflerin fonetik değerlerini değiştirmiyorsunuz, nasıldıklarını değiştiriyorsunuz demektir. Sadece kozmetik( ancak önemsiz değil!).Antik Mısır ve Çin gibi bazı dillerde ideogramlar vardır;bunlar ses yerine tüm fikirleri temsil eder ve telaffuzları zaman ve uzaklık bakımından değişebilir. Bir karakteri başka bir karakterle değiştirirseniz, bir fikri değiştirirsiniz. Bu sadece harfleri değiştirmekten ibaret değil, bir ideogramı değiştiriyor.

Karakter Kodlama

(

)

Klavyeye bir şeyler yazarken veya bir dosya yüklediğinde, bilgisayar ne göstereceğini biliyor mu? Karakter kodlaması bunun için geçerlidir. Bilgisayarınızdaki metin aslında harf değil, bu bir dizi eşlenmiş alfasayısal değerdir. Karakter kodlaması hangi yazıların hangi harflere karşılık geldiğini belirten orjinal metnin hangi harflere karşılık geldiğini belirten bir tuşa benzer. Mors alfabesi bir tür karakter kodlamasıdır. Bip sesleri gibi uzun ve kısa ünitelerin gruplarının karakterleri nasıl temsil ettiğini açıklar. Mors alfabesindeki karakterler yalnızca İngiliz harfleri, sayılar ve tam duruşlardır. Harflere, sayılara, aksan işaretlerine, noktalama işaretlerine, uluslararası sembollere ve benzerlerine dönüştüren birçok bilgisayar karakteri kodlaması vardır.

Genellikle bu konuyla ilgili olarak "kod sayfaları" terimi de kullanılır. Esas olarak, belirli şirketlerin kullandıkları karakter kodlamalarıdır, çoğunlukla hafif değişiklikler yapılmıştır.Örneğin, Windows 1252 kod sayfası( eskiden ANSI 1252 olarak bilinir), ISO-8859-1'in değiştirilmiş bir şeklidir.Çoğunlukla, aynı sistemlere özgü standart ve değiştirilmiş karakter kodlamalarını belirtmek için dahili bir sistem olarak kullanılırlar. Erken olarak, bilgisayarlar birbiriyle iletişim kurmadığı için karakter kodlaması o kadar önemli değildi.İnternetin öne çıkması ve ağ oluşumunun ortak bir olay olmasıyla birlikte, günlük hayatımızın giderek önem kazandığını farketmeden anlamamız gerekiyor.

Birçok Farklı Türler

( Image from sarah sosiak)

Orada bol miktarda farklı karakter kodlamaları vardır ve bunun için pek çok neden vardır. Hangi karakter kodlamasını kullanmayı seçeceğiniz, gereksinimlerinize bağlıdır. Rusça konuşursanız, Kiril kuyusunu destekleyen bir karakter kodlaması kullanmak mantıklı olur. Kore dili ile iletişim kurarsanız, Hangul ve Hanja'yı iyi temsil eden bir şey isteyeceksiniz. Eğer matematikçiyseniz, bilimsel ve matematiksel sembollerin hepsinin yanı sıra Yunan ve Latin gliflerine sahip bir şey istersiniz. Eğer şakacıysanız, belki ters metinten yararlanabilirsiniz. Ve bu tür belgelerin hepsinin belirli bir kişi tarafından görüntülenmesini istiyorsanız, oldukça yaygın ve kolayca erişilebilen bir kodlamayı istiyorsunuz.

Bazı daha yaygın olanları inceleyelim.

( ASCII tablosunun alıntısı, asciitable.com'dan görüntü)

  • ASCII - Bilgi Alışverişi için Amerikan Standart Kodu, daha eski karakter kodlamalarından biridir. Başlangıçta telgraf kodlarına dayalı olarak tasarlandı ve zamanla daha fazla sembol ve bazı güncel olmayan basılı kontrol karakterleri dahil olmak üzere gelişti. Aksanlı karakterler içermeyen Latin alfabesiyle sınırlı olduğundan muhtemelen modern sistem açısından basittir.7 bitlik kodlaması sadece 128 karaktere izin veriyor, bu nedenle dünyanın dört bir yanında çeşitli resmi olmayan varyantlar var.
  • ISO-8859 - Uluslararası Standartlar Organizasyonu'nun en yaygın kullanılan karakter kodlamaları grubu 8859'dur. Her bir özel kodlama, çoğunlukla tanımlayıcı bir takma adla, örneğin;ISO-8859-3( Latin-3), ISO-8859-6( Latince / Arapça).Bu, ASCII'nin üst kümesidir, yani kodlamadaki ilk 128 değeri ASCII ile aynıdır. Ancak, 8 bittir ve 256 karaktere izin verir, dolayısıyla oradan uzaklaşır ve her bir özel kodlama farklı ölçütler kümesine odaklanarak çok daha geniş bir dizi karakter içerir. Latin-1, aksanlı mektup ve sembollerden oluşan bir grup içerir; ancak daha sonra Latin sembolü-9 olarak değiştirilmiş ve Euro sembolü gibi güncellenmiş glifler yer almıştır.

( Tibetçe betik alıntısı, Unicode v4, unicode.org'dan)

  • Unicode - Bu kodlama standardı evrenselliği hedeflemektedir.Şu anda birkaç blok halinde düzenlenmiş 93 betik içeriyor ve eserlerde çok daha fazlası var. Unicode, diğer karakter kümelerinden farklı olarak çalışır, çünkü bir glif için doğrudan kodlama yerine her değer bir "kod noktası" ya yönlendirilir. Bunlar karakterlere karşılık gelen onaltılı değerlerdir, ancak gliflerin kendileri program tarafından ayrı bir şekilde sağlanmaktadır, web tarayıcınız gibi. Bu kod noktaları genel olarak şu şekilde tasvir edilmiştir: U + 0040( '@' olarak geçmektedir).Unicode standardı altındaki özel kodlamalar UTF-8 ve UTF-16'dır. UTF-8, ASCII ile maksimum uyumluluk sağlamak için çalışır.8 bittir ancak karakterlerin her biri için bir değiştirme mekanizması ve karakter başına birden çok değer çiftini sağlar. UTF-16, standartla daha eksiksiz bir 16-bit uyumluluğu için mükemmel ASCII uyumluluğunu gerçekleştiriyor.
  • ISO-10646 - Bu gerçek bir kodlama değil, yalnızca ISO tarafından standartlaştırılmış bir Unicode karakter kümesidir.Çoğunlukla önemlidir çünkü HTML tarafından kullanılan karakter repertuarındadır. Eşleme ve soldan sağa komut dosyalarının yanında sağa-sola izin veren Unicode tarafından sağlanan daha gelişmiş bazı işlevler eksik. Yine de, çok çeşitli komut dosyalarının kullanımına izin verdiği ve tarayıcının glifleri yorumlamasına izin verdiği için internette kullanım için çok iyi çalışıyor. Bu, yerelleştirme işlemini biraz daha kolaylaştırır.

Hangi Kodlamayı Kullanmalıyım?

Aslinda, ASCII, çogu ingilizce hoparlör için çalisir, ancak pek cok degildir.Çoğu durumda, çoğu Batı Avrupa dilinde çalışan ISO-8859-1'i göreceksiniz. ISO-8859'un diğer sürümleri Kiril, Arapça, Yunanca veya diğer belirli komut dosyaları için çalışmaktadır. Bununla birlikte, aynı belgede veya aynı web sayfasında birden çok komut dosyası görüntülemek istiyorsanız, UTF-8 çok daha iyi uyumluluk sağlar. Ayrıca, doğru noktalama işareti, matematik sembolleri veya kareler ve onay kutuları gibi kelepçeden çıkarılmış karakterler kullananlar için de çok iyi çalışıyor.

( Bir belgede birden çok dilde, gujaratsamachar.com'un Ekran Görüntüsü)

Ancak her setin dezavantajları var. ASCII noktalama işaretlerinde sınırlıdır, bu nedenle yazım hatlarıyla doğru düzenlemeler için inanılmaz derecede iyi çalışmaz. Gliflerin garip bir kombinasyonuna sahip olmak için sadece Word'den kopyala / yapıştır yazdın mı?ISO-8859'un dezavantajı ya da daha doğrusu, OS'ye özgü kod sayfaları( mesela SİZE, Microsoft! 'A bakıyoruz) ile birlikte çalışabileceğini düşünüyoruz. UTF-8'in en büyük dezavantajı, düzenleme ve yayınlama uygulamalarında doğru desteğin olmamasıdır. Bir diğer sorun, tarayıcıların genellikle UTF-8 ile kodlanmış bir karakterin bayt sırası işaretini yorumlamaması ve sadece görüntülememesidir. Bu istenmeyen gliflerin görüntülenmesine neden olur. Ve elbette, bir kodlamayı beyan etmek ve bir web sayfasında bunları doğru bir şekilde ilan etmeden / başkalarından karakterler kullanmak, tarayıcıların bunları doğru bir şekilde oluşturmalarını ve arama motorlarının bunları uygun bir şekilde dizine eklemelerini zorlaştırıyor.

Kendi belgeleriniz, el yazmalarınız vb. Için, işinizi tamamlamak için ihtiyacınız olan her şeyi kullanabilirsiniz. Webin ilerlemesine rağmen, çoğu insan bir bayt sırası işareti kullanmayan bir UTF-8 sürümü kullanmayı kabul ediyor gibi görünüyor, ancak bu tamamen oybirliği ile değil. Gördüğünüz gibi, her karakter kodlamanın kendi kullanımı, bağlamı ve güçlü ve zayıf yönleri vardır. Son kullanıcı olarak, muhtemelen bununla uğraşmak zorunda kalmazsınız, ancak şimdi seçerseniz ekstra bir adım atabilirsiniz.