ASCII ve Unicode Metin Arasındaki Fark Nedir?

ASCII ve Unicode Metin Arasındaki Fark Nedir?

ASCII ve Unicode, özellikle metni oluşturan karakterler olmak üzere metnin dijital temsilini ifade eden standartlardır. Bununla birlikte, iki standart, kendi yaratılış sıralarını yansıtan birçok özellik ile önemli ölçüde farklıdır.





Amerika Evrene Karşı

Amerikan Standart Bilgi Değişimi Kodu (ASCII), şaşırtıcı olmayan bir şekilde, İngiliz alfabesiyle yazan bir Amerikan okuyucusuna hitap etmektedir. A-Z ve a-z gibi aksansız harflerin yanı sıra az sayıda noktalama işareti ve kontrol karakteriyle ilgilenir.





Özellikle, diğer dillerden alınan alıntı sözcükleri temsil etmenin bir yolu yoktur, örneğin Kahve ASCII'de, aksanlı karakterleri değiştirerek onları İngilizceleştirmeden (örn. kafe ). Çeşitli dillerin ihtiyaçlarını karşılamak için yerelleştirilmiş ASCII uzantıları geliştirildi, ancak bu çabalar birlikte çalışabilirliği zorlaştırdı ve ASCII'nin yeteneklerini açıkça genişletti.





Buna karşılık, Evrensel Kodlu Karakter Seti (Unicode), hırs ölçeğinin diğer ucunda yer alır. Unicode, eski dilleri ve herkesin favori ifade sembolleri olan emojiyi kapsadığı ölçüde, dünyanın mümkün olduğunca çok sayıda yazı sistemine hizmet vermeye çalışır.

Karakter Kümesi mi Karakter Kodlaması mı?

Basit bir ifadeyle, bir karakter kümesi bir karakter seçimidir (örneğin, A-Z), bir karakter kodlaması, bir karakter kümesi ile dijital olarak temsil edilebilen bir değer (örneğin, A=1, B=2) arasındaki bir eşlemedir.



ASCII standardı, hem temsil ettiği karakter kümesini hem de her karakteri sayısal bir değere eşleme yöntemini tanımlar.

Buna karşılık, Unicode kelimesi birkaç farklı bağlamda farklı şeyleri ifade etmek için kullanılır. Bir karakter kümesine ve bir dizi kodlamaya atıfta bulunmak için ASCII gibi her şeyi kapsayan bir terim olarak düşünebilirsiniz. Ancak, birkaç kodlama olduğu için, Unicode terimi genellikle nasıl eşleştirildiklerinden ziyade genel karakter kümesine atıfta bulunmak için kullanılır.





Boy

Kapsamı nedeniyle Unicode, ASCII'den çok daha fazla karakteri temsil eder. Standart ASCII, 128 farklı kodlamak için 7 bitlik bir aralık kullanır karakterler . Unicode ise o kadar büyük ki, sadece onun hakkında konuşmak için farklı terminoloji kullanmamız gerekiyor!

Unicode, 1.111.998 adreslenebilir kod noktaları. Bir kod noktası, bir karakter için ayrılmış bir alana kabaca benzer, ancak ayrıntılara girmeye başladığınızda durum bundan çok daha karmaşıktır!





Daha yararlı bir karşılaştırma, şu anda kaç komut dosyasının (veya yazma sisteminin) desteklendiğidir. Tabii ki, ASCII yalnızca İngiliz alfabesini, esasen Latin veya Roma alfabesini işler. 2020'de üretilen Unicode sürümü çok daha ileri gidiyor: toplam 154 komut dosyası desteği içeriyor.

Depolamak

ASCII'nin 7 bitlik aralığı, her karakterin tek bir 8 bitlik baytta depolandığı anlamına gelir; yedek uç standart ASCII'de kullanılmaz. Bu, boyut hesaplamalarını önemsiz hale getirir: karakter cinsinden metnin uzunluğu, dosyanın bayt cinsinden boyutudur.

Bunu aşağıdaki bash komutları dizisiyle onaylayabilirsiniz. İlk olarak, 12 harflik metin içeren bir dosya oluşturuyoruz:

facebook'umu devre dışı bırakırsam mesajlara ne olur
$ echo -n 'Hello, world' > foo

Metnin ASCII kodlamasında olup olmadığını kontrol etmek için şunu kullanabiliriz: dosya emretmek:

$ file foo
foo: ASCII text, with no line terminators

Son olarak, dosyanın kapladığı tam bayt sayısını elde etmek için durum emretmek:

$ stat -f%z foo
12

Unicode standardı çok daha geniş bir karakter aralığıyla ilgilendiğinden, bir Unicode dosyası doğal olarak daha fazla depolama alanı kaplar. Tam olarak ne kadar kodlamaya bağlıdır.

ASCII'de temsil edilemeyen bir karakter kullanarak aynı komut setini daha önce tekrarlamak aşağıdakileri verir:

$ echo -n '€' > foo
$ file foo
foo: UTF-8 Unicode text, with no line terminators
$ stat -f%z foo
3

Bu tek karakter, bir Unicode dosyasında 3 baytlık yer kaplar. Bir ASCII dosyası seçilen karakteri (€) saklayamadığı için bash'ın otomatik olarak bir UTF-8 dosyası oluşturduğunu unutmayın. UTF-8, Unicode için açık ara en yaygın karakter kodlamasıdır; UTF-16 ve UTF-32 iki alternatif kodlamadır, ancak çok daha az kullanılırlar.

UTF-8, değişken genişlikte bir kodlamadır, yani farklı kod noktaları için farklı miktarlarda depolama kullanır. Her kod noktası, daha yaygın karakterlerin daha az alan gerektirmesi amacıyla bir ila dört bayt arasında yer kaplar ve bir tür yerleşik sıkıştırma sağlar. Dezavantajı, belirli bir metin parçasının uzunluk veya boyut gereksinimlerinin belirlenmesinin çok daha karmaşık hale gelmesidir.

ASCII Unicode'dur, ancak Unicode ASCII Değildir

Geriye dönük uyumluluk için, ilk 128 Unicode kod noktası, eşdeğer ASCII karakterlerini temsil eder. UTF-8, bu karakterlerin her birini tek bir bayt ile kodladığından, herhangi bir ASCII metni aynı zamanda bir UTF-8 metnidir. Unicode, ASCII'nin bir üst kümesidir.

Ancak, yukarıda gösterildiği gibi, birçok Unicode dosyası bir ASCII bağlamında kullanılamaz. Sınır dışı olan herhangi bir karakter, beklenmedik bir şekilde, genellikle amaçlanandan tamamen farklı ikame karakterlerle görüntülenecektir.

Modern Kullanım

Çoğu amaç için, ASCII büyük ölçüde eski bir standart olarak kabul edilir. Yalnızca Latin alfabesini destekleyen durumlarda bile (örneğin, Unicode'un karmaşıklığı için tam desteğin gereksiz olduğu durumlarda) UTF-8'i kullanmak ve ASCII uyumluluğundan yararlanmak genellikle daha uygundur.

lg telefonumda el fenerimi nasıl açarım

Özellikle, web sayfaları HTML5 için varsayılan olan UTF-8 kullanılarak kaydedilmeli ve iletilmelidir. Bu, Latin 1'in yerini almadan önce varsayılan olarak ASCII'de ele alınan önceki web'in aksine.

Değişen Bir Standart

ASCII'nin son revizyonu 1986'da gerçekleşti.

Buna karşılık, Unicode her yıl güncellenmeye devam ediyor. Yeni komut dosyaları, karakterler ve özellikle yeni emoji düzenli olarak eklenir. Bunların sadece küçük bir kısmı tahsis edildiğinde, tam karakter kümesinin öngörülebilir gelecekte büyümesi ve büyümesi muhtemeldir.

İlgili: En Popüler 100 Emoji Açıklandı

ASCII Unicode'a Karşı

ASCII onlarca yıldır amacına hizmet etti, ancak Unicode artık eski sistemler dışındaki tüm pratik amaçlar için onun yerini aldı. Unicode daha büyüktür ve dolayısıyla daha etkileyicidir. Dünya çapında, işbirliğine dayalı bir çabayı temsil eder ve biraz karmaşıklık pahasına da olsa çok daha fazla esneklik sunar.

Paylaş Paylaş Cıvıldamak E-posta ASCII Metni Nedir ve Nasıl Kullanılır?

ASCII metni şifreli görünür, ancak internette birçok kullanımı vardır.

Sonrakini Oku
İlgili konular
  • Teknoloji Açıklaması
  • emojiler
  • Jargon
  • Web Kültürü
  • tek kod
Yazar hakkında Bobby Jack(58 Makale Yayımlandı)

Bobby, yirmi yılı aşkın bir süredir yazılım geliştiricisi olarak çalışan bir teknoloji tutkunu. Oyun konusunda tutkulu, Switch Player Magazine'de İnceleme Editörü olarak çalışıyor ve çevrimiçi yayıncılık ve web geliştirmenin tüm yönleriyle ilgileniyor.

Bobby Jack'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın