Anasayfa » nasıl » ANSI ve Unicode gibi karakter kodlamaları nelerdir ve bunlar nasıl farklılık gösterir?

    ANSI ve Unicode gibi karakter kodlamaları nelerdir ve bunlar nasıl farklılık gösterir?

    ASCII, UTF-8, ISO-8859… Bu tuhaf takma ayakları etrafında yüzen görmüş olabilirsiniz, ama aslında ne anlama geliyorlar? Karakter kodlamanın ne olduğunu ve bu kısaltmaların ekranda gördüğümüz düz metinle nasıl ilişkili olduğunu açıklarken okuyun..

    Temel Yapı Taşları

    Yazılı dil hakkında konuştuğumuzda, harflerden sözlerin daha sonra cümleler, paragraflar vb. Oluşturan yapı taşları olduğu hakkında konuşuruz. Harfler sesleri temsil eden sembollerdir. Dil hakkında konuşurken, bir tür anlam oluşturmak için bir araya gelen ses gruplarından bahsediyorsunuz. Her dil sistemi, bu anlamları yöneten karmaşık kurallara ve tanımlara sahiptir. Bir kelimeniz varsa, hangi dilden geldiğini bilmiyorsanız ve o dili konuşan diğer kişilerle kullanıyorsanız, bu işe yaramaz.

    (Grantha, Tulu ve Malayalam senaryolarının karşılaştırması, Wikipedia'dan Resim)

    Bilgisayar dünyasında, “karakter” terimini kullanıyoruz. Bir karakter, belirli parametrelerle tanımlanan soyut bir kavramdır, ancak temel anlam birimidir. Latince “A”, bir Yunan “alfa” veya bir Arapça “alif” ile aynı değildir, çünkü farklı bağlamları vardır - farklı dillerdendirler ve biraz farklı telaffuzlar vardır - bu yüzden farklı karakterler olduklarını söyleyebiliriz. Bir karakterin görsel gösterimi “glif” olarak adlandırılır ve farklı glif kümeleri font olarak adlandırılır. Karakter grupları “set” veya “repertuar” a aittir.

    Bir paragraf yazdığınızda ve yazı tipini değiştirdiğinizde, harflerin fonetik değerlerini değiştirmezsiniz, görünüşlerini değiştirirsiniz. Sadece kozmetiktir (ama önemsiz değil!). Eski Mısır ve Çin gibi bazı dillerin ideogramları vardır; bunlar sesler yerine bütün fikirleri temsil eder ve telaffuzları zamana ve mesafeye göre değişebilir. Bir karakterden diğerine karakter koyarsanız, bir fikir yerine koyarsınız. Harfleri değiştirmekten daha fazlası, ideogramı değiştiriyor.

    Karakter kodlaması

    (Wikipedia'dan görüntü)

    Klavyeye bir şey yazdığınızda veya bir dosya yüklediğinizde, bilgisayar neyin görüntüleneceğini nasıl bilir? Karakter kodlaması bunun için. Bilgisayarınızdaki metin aslında harf değildir, bir çift eşleştirilmiş alfasayısal değerdir. Karakter şifrelemesi, hangi değerlerin hangi karakterlere karşılık geldiğinin bir anahtar işlevi görür, tıpkı yazımların hangi seslere hangi harflere karşılık geldiğini belirlemesi gibi. Mors kodu, bir tür karakter kodlamasıdır. Bip gibi uzun ve kısa ünite gruplarının karakterleri nasıl temsil ettiğini açıklar. Mors kodunda, karakterler sadece İngilizce harfler, sayılar ve tam duraklardır. Harflere, sayılara, vurgu işaretlerine, noktalama işaretlerine, uluslararası sembollere vb. Çevrilen birçok bilgisayar karakter kodlaması vardır..

    Bu konuda sıklıkla “kod sayfaları” terimi de kullanılır. Temelde, belirli şirketler tarafından kullanılan ve genellikle küçük değişiklikler yapılan karakter kodlamalarıdır. Örneğin, Windows 1252 kod sayfası (eski adıyla ANSI 1252), ISO-8859-1'in değiştirilmiş bir şeklidir. Çoğunlukla aynı sistemlere özgü standart ve değiştirilmiş karakter kodlamaları için dahili bir sistem olarak kullanılırlar. Başlangıçta, karakter kodlaması o kadar önemli değildi çünkü bilgisayarlar birbirleriyle iletişim kurmuyordu. İnternetin öne çıkması ve ağ kurma işlemlerinin yaygın bir oluşum olması, fark etmeden bile günlük hayatımızın önemini arttırdı..

    Birçok Farklı Tür

    (Sarah sosiak görüntü)

    Dışarıda birçok farklı karakter kodlaması var ve bunun birçok nedeni var. Hangi karakter kodlamasını kullanmayı seçtiniz, ihtiyaçlarınızın ne olduğuna bağlı. Rusça iletişim kurarsanız, Kiril kuyularını destekleyen bir karakter kodlaması kullanmak mantıklıdır. Korece iletişim kurarsanız, Hangul ve Hanja'yı iyi temsil eden bir şey isteyeceksiniz. Eğer bir matematikçiyseniz, o zaman tüm bilimsel ve matematiksel sembollerin yanı sıra Yunan ve Latin gliflerinin de temsil edildiği bir şey istersiniz. Eğer bir şakacıysan, belki baş aşağı metinden faydalanabilirsin. Ve, bu tür belgelerin herhangi birinin belirli bir kişi tarafından görüntülenmesini istiyorsanız, oldukça yaygın ve kolayca erişilebilir bir kodlama istiyorsunuz..

    En yaygın olanlardan bazılarına bir göz atalım.

    (ASCII tablosunun alıntı, Asciitable.com sitesindeki resim)

    • ASCII - Bilgi Değişimi için Amerikan Standart Kodu, eski karakter kodlamalarından biridir. Başlangıçta telgraf kodlarına dayanarak tasarlandı ve daha fazla sembol ve eski modası geçmiş bazı basılmamış kontrol karakterlerini içerecek şekilde zaman içinde gelişti. Muhtemelen modern sistemler anlamında alabildiğiniz kadar basit, Latin alfabesiyle aksanlı karakterler olmadan sınırlı. 7 bitlik kodlaması yalnızca 128 karaktere izin verir, bu nedenle dünya çapında kullanılmakta olan resmi olmayan çeşitli değişkenler vardır..
    • ISO-8859 - Uluslararası Standardizasyon Örgütü'nün en yaygın kullanılan karakter kodlama grubu numarası 8859'dur. Her bir spesifik kodlama, çoğu zaman açıklayıcı bir moniker, örneğin; ISO-8859-3 (Latince-3), ISO-8859-6 (Latince / Arapça). Kodlamadaki ilk 128 değerin ASCII ile aynı olduğu anlamına gelen bir ASCII'nin süper kümesidir. Bununla birlikte 8 bitliktir ve 256 karaktere izin verir, bu nedenle oradan ayrılır ve her bir özel kodlamanın farklı bir ölçüt kümesine odaklanarak daha geniş bir karakter dizisi içerir. Latin-1 bir sürü aksanlı harf ve sembol içermekteydi ancak daha sonra Euro simgesi gibi güncellenmiş glifleri içeren Latin-9 adlı revize edilmiş bir set ile değiştirildi..

    (Tibet senaryosunun Unicode v4 adlı unicode.org'dan alıntı)

    • Unicode - Bu kodlama standardı evrenselliği hedefler. Halen birkaç blokta düzenlenmiş 93 senaryoyu ve eserlerinde daha fazlasını içerir. Unicode, doğrudan bir glif için kodlama yapmak yerine, her karakter bir “kod noktasına” yönlendirildiği için diğer karakter kümelerinden farklı şekilde çalışır. Bunlar, karakterlere karşılık gelen onaltılık değerlerdir, ancak gliflerin kendileri program tarafından ayrılmış bir şekilde sağlanır. web tarayıcınız gibi. Bu kod noktaları genel olarak şu şekilde gösterilir: U + 0040 ('@' anlamına gelir). Unicode standardı altındaki özel kodlamalar UTF-8 ve UTF-16'dır. UTF-8, ASCII ile maksimum uyumluluğa izin vermeye çalışır. 8 bittir, ancak bir karakter değiştirme mekanizması ve karakter başına birden çok değer çifti aracılığıyla tüm karakterlere izin verir. UTF-16, standartla daha 16-bit uyumluluk için mükemmel ASCII uyumluluğunu ortadan kaldırıyor.
    • ISO-10646 - Bu gerçek bir kodlama değil, sadece ISO tarafından standartlaştırılmış bir Unicode karakter kümesidir. Bu çoğunlukla önemlidir, çünkü HTML tarafından kullanılan karakter repertuvarıdır. Unicode tarafından sağlanan ve soldan sağa komut dosyasıyla birlikte sağdan sola doğru harmanlamaya izin veren daha gelişmiş işlevlerden bazıları eksik. Yine de, çok çeşitli komut dosyalarının kullanımına izin verdiği ve tarayıcının glifleri yorumlamasını sağladığı için, internette kullanım için çok iyi çalışır. Bu, yerelleştirmeyi biraz daha kolaylaştırır.

    Ne Kodlama Kullanmalıyım??

    ASCII, çoğu İngilizce konuşanlar için çalışır, fakat başkaları için değil. Daha sık, çoğu Batı Avrupa dili için çalışan ISO-8859-1'i göreceksiniz. ISO-8859'un diğer sürümleri Kiril, Arapça, Yunanca veya diğer özel betikler için çalışıyor. Ancak, aynı belgede veya aynı web sayfasında birden fazla komut dosyası görüntülemek istiyorsanız, UTF-8 daha iyi uyumluluk sağlar. Ayrıca, uygun noktalama işaretleri, matematik sembolleri veya kareler ve onay kutuları gibi manşet dışı karakterler kullanan insanlar için gerçekten iyi çalışır..

    (Bir belgede birden fazla dil, gujaratsamachar.com ekran görüntüsü)

    Bununla birlikte, her setin dezavantajları vardır. ASCII noktalama işaretlerinde sınırlıdır, bu nedenle yazım kurallarına uygun düzenlemeler için inanılmaz derecede iyi çalışmaz. Word’den kopyala / yapıştır’ı yalnızca tuhaf glif kombinasyonları için yazabilirsiniz. Bu, ISO-8859'un ya da daha doğru bir şekilde, OS'ye özel kod sayfalarıyla birlikte çalışabilirliği olduğu düşünülen dezavantajıdır (SİZE, Microsoft'a bakıyoruz!). UTF-8'in en büyük dezavantajı, uygulamaların düzenlenmesi ve yayınlanmasında uygun destek eksikliğidir. Diğer bir sorun da tarayıcıların sıklıkla UTF-8 kodlanmış bir karakterin bayt sipariş işaretini yorumlamaması ve görüntülememesidir. Bu istenmeyen gliflerin görüntülenmesine neden olur. Ve elbette, bir web sayfasında doğru bir şekilde beyan / referans vermeden bir kodlama ve diğerlerinden karakter kullanmak, tarayıcıların bunları doğru şekilde oluşturmasını ve arama motorlarının bunları uygun şekilde dizine eklemesini zorlaştırır.

    Kendi belgeleriniz, yazılarınız ve benzerleriniz için, işi yapmak için ihtiyaç duyduğunuz her şeyi kullanabilirsiniz. Yine de, web’e göre, çoğu insan bayt siparişi kullanmayan bir UTF-8 sürümü kullanmaya karar verdiler, ancak bu tamamen oybirliği değil. Görebildiğiniz gibi, her karakter kodlamasının kendi kullanımı, içeriği ve güçlü ve zayıf yönleri vardır. Bir son kullanıcı olarak, muhtemelen bununla uğraşmak zorunda kalmayacaksınız, ancak şimdi tercih ederseniz ileriki adımı atabilirsiniz..