ASCII Nedir? | Tanımı, Türleri, Özellikleri & Karakter Tablosu

Bilgisayar ve çevrimiçi konuşma dünyasında ASCII kodu adı verilen bir şey gereklidir. Bu kod veya tablo olayını daha önce duymuş olabilirsiniz. Ama şimdi terimin ne olduğuna bakacağız ve geçmişten bugüne nasıl değiştiğini göreceğiz.

Her şeyden önce ASCII, American Standard Code for Information Interchange anlamına gelir. Türkçeye çevirisini ise, Amerikan Bilgi Değişimi Standart Kodu olarak yorumlarız. Harfleri ve sembolleri sayılara dönüştürmenin yoludur.

1960’larda bunu geliştirdiler. Bundan önce bilgisayarlar olayları anlamak için farklı yollar kullanıyordu. Ancak karakter seti ortaya çıktığında cihazların bilgi paylaşımını kolaylaştırdı.

ASCII Tanımı, Özellikleri ve Türleri

ASCII Tanımı & Önemi Nedir?

ASCII kodu, bilgisayarlardaki karakterleri kodlamanın yoludur. Telefonlara ve bilgisayarlara yazmak için bunu birçok kez kullandılar. Harika olan şey, metnin her türlü cihazda aynı şekilde gösterilmesine yardımcı olmasıdır.

Bilgisayarlarla veya dijital cihazlarla çalışıyorsanız ASCII setini bilmelisiniz. Günümüzde birçok modern karakter sistemimiz var. Ancak bununla cihazların birbirleriyle konuşması kolay olacaktır.

Dolayısıyla bunu anlamak hem bilgisayarlarda bir şeyler yapanlar hem de kod yazanlar için faydalıdır. Temel olarak yazılımlarının daha iyi ve hızlı çalışmasına katkı sağlar.

ASCII kodu setinin şu anda sahip olduğumuz süper gelişmiş karakter kodlarının temeli olduğunu bilmemiz gerekiyor.

Karakter Dizisi Kodlarının Tarihi & Gelişimi

1870’lerde Émile Baudot adında Fransız geliştirici telgraflar için ikili kod oluşturdu. Kod beş bitti ayrıca mesajları telgrafla gönderiyordu. Ancak Latin alfabesinin tüm harflerini işleyemedi. Bu durumda, metin standartı kodunun oluşturulmasına yol açtı.

Geçmişine bakarsak Bob Bemer ve diğer bazı bilgisayar bilimcileri proje üzerinde birlikte çalıştılar. Amaçları metnin çeşitli bilgisayar sistemleri ya da cihazlarda aynı görünmesini sağlamaktı. Araştırmalarının ardından 1960’lı yıllarda sistemi ortaya çıkardılar. Bazı insanlar buna Temel (Basic) ASCII de diyor.

ASCII Türleri

Programlama ve yazılım alanında türlerini bilmek önemlidir. Pek çok programlama dilinde bile ne tür karakterlerin birlikte çalıştıklarını anlamak gerekir.

Diyelim ki İngilizce olmayan karakterlerle yazılım yapıyorsunuz. Bu durumda Genişletilmiş (Extended) veya Unicode kullanmalısınız. Veya UTF-8 gibi yeni türleri tercih edebilirsiniz.

Özetlemek gerekirse, grubu 7 bit & 8 bit olmak üzere iki ana parçaya ayırıyoruz:

1. ASCII-7 (Basic / Temel veya Basit)

1963 yılında ASA (American Standards Association / Amerikan Standartlar Birliği), ASCII-63 adı verilen ilk resmi versiyonunu yayınladı. 7 bitlik sette 128 karakter vardı. İlk başta sadece büyük ve küçük boyutlarda İngilizce harfler vardı ve ayrıca 0’dan 9’a kadar rakamlar da vardı.

Elbette sadece İngilizceyle sınırlı değildi. Zamanla üzerinde çalışmaya devam ederek ASCII-7 adında 8 bitlik sürüm yaptılar. Yani yeni sürüm eskisinden fazla bilgiye sahipti, dolayısıyla birçok dili işleyebiliyordu.

Teknoloji ilerledikçe bilgisayarların daha fazla şey yapması gerekti. Bu yüzden karakterleri anlamada kendilerini geliştirmeleri gerekiyordu. Böylece 128 karakterlik dizi üzerinde çalışıp birçok karakter ve sembol eklediler. Başka deyişle, normal versiyondan gelişmiş olan buna Extended ASCII adını verdiler.

2. ASCII-8 (Extended / Genişletilmiş)

IBM, artan ihtiyaçları karşılamak amacıyla Extended ASCII kodlaması yaptı. İlkinden birçok sembol, kod ve hatta resim vardı. İkinci türün 256 kodu vardı. Aynı zamanda ASCII Art (Sanatı) denilen bir şeye de yol açtı.

IBM, 1981 yılında 8 bitlik sürümü ilk bilgisayarlarında kullanmak istedi. Ayrıca başka dillerden karakterler de vardı. Ancak sürüm standart hale gelmediğinden sorunlara neden oldu. Kısacası farklı şirketlerin farklı kodlama yöntemleri kullanması, sistemlerin birlikte çalışmasını zorlaştırıyordu.

Sonraki Karakter Kodlama Türleri

1980’lerin sonlarında herkese işe yarayacak kod oluşturmaya çalıştılar. Dolayısıyla, Unicode kodlamasının yaratılmasına yol açtı. Yani eski sistemler hala ilkini kullanıyordu, ancak yeni sistemler Unicode kullanmaya başladı.

Unicode 1.0 olarak adlandırılan Unicode’un ilk sürümü 1991’de 7.096 karaktere sahipti. Hızlıca 2023’e gelindiğinde, sürüm 15.1‘de 149.813 kod gibi muazzam bir rakam var! Amacı aynı: Dünyadaki her dil ve yazı sistemi için işe yarayan tek yazma yöntemine sahip olmak. Kısacası çok sayıda insanın kullanmasını istiyorlar.

Basit ifadeyle Unicode, orijinal & genişletilmiş ASCII’den geldi. Her ikisiyle de çalışır ancak diğerlerinde olmayan karakterlere sahiptir. Ayrıca, metnin veya sembolün her bitini göstermede 16 bit ve 32 bit değerleri kullanır.

Unicode’dan sonra UTF-8 adında başka tür daha var. Her kodu bir ila dört bayt kullanarak Unicode verilerini küçük şekilde temsil eder. Basitçe söylemek gerekirse UTF-8, Standart veya Temel ile çalışır. Açıkçası, orijinal, genişletilmiş & Unicode sürümdeki verileri işleyebileceği anlamına gelir.

Bugün bile, özellikle PC yazılım geliştirmede bu kodu kullanmak hala önemini koruyor. Birçok programlama dili bunu metin göstermek amacıyla kullanır. Yeni versiyonları çıkmış olsa da hala temeldir. Dahası e-posta veya dosyaların taşınması gibi bazı eski şeyler hala onu kullanıyor.

ASCII Tablosu Nedir?

PC tarihiyle ilgileniyorsanız, karakter seti tablosuyla karşılaşmış olabilirsiniz. Peki ASCII tablosu tam olarak nedir ve neden önemlidir?

ASCII kümesi tablosu her harfe, sayıya veya simgeye sayılar veren liste gibidir. Her birine benzersiz kod vermenin yoludur. Tablonun tamamı organize & standarttır. Ancak 128 ya da 256 karaktere sahip olabilir çünkü 7 bit & 8 bit türleri farklı sayıda karakteri işler.

Şimdi hızlıca 7 bitlik ASCII kodları tablosundan bahsedelim:

  1. Harfler (Letters)
  • Büyük harfler (A-Z) 65’ten 90’a kadar olan kodları kullanır.
  • Küçük harfler (a-z) 97’den 122’ye kadarki kodları kullanır.
  1. Rakamlar (Digits)
  • Sayısal rakamlar (0-9) 48 ila 57 aralığındadır.
  1. Semboller (Symbols)
  • Tablonun diğer noktalarında farklı semboller & noktalama işaretleri bulunmaktadır.
ASCII Tablosu
Credit: Wikimedia

ASCII tablosu önemlidir çünkü bilgisayarların metninin anlanması & gösterilmesine yardımcı eder. Mesela ünlem işaretinin (!) 33, dolar işaretinin ($) ise 36 olduğunu söylüyor. Yani “A” tuşuna bastığınızda bilgisayarınızı 65 koduna çevirip hafızasına kaydediyor.

Tablodaki Kontrol Karakterleri

Ayrıca ASCII tablosunda kontrol karakterleri için özel kodlar bulunmaktadır. Örneğin, imlecin satırın başına gitmesini sağlamak için tuşa bastığınızda, bilgisayarınız onu kod 13’e (CR – Carriage Return – Satırbaşına Dönüş) dönüştürür.

Tablodaki sayılar verileri işlemenize destek olur. Temelde karakterin nasıl görüneceğine karar verebilirsiniz. Fakat yalnızca metnin güzel görünmesini sağlamak için değil; veri iletişimindeki görevleri yönetmede de kullanabilirsiniz.

Örneğin en sık kullanılan kontrol setleri şunlardır:

  1. Start of Header (SOH – Code 1):
  • Bu ASCII kodu klavyedeki belirli bir tuşla eşleşmiyor. Yani cihazlar arasında konuşma veya programlama gibi şeylerde kullanılan kontrol kodudur.
  1. Carriage Return (CR – Code 13):
  • Genellikle klavyedeki “Enter” tuşuna karşılık gelir. Tuş metin satırını tamamlayarak sonraki satıra geçer.
  1. Line Feed (LF – Code 10):
  • Aynı şekilde kendi anahtarı da yoktur ancak “Enter” tuşuyla birlikte çalışır. Metin satırının sonunu gösterir ayrıca devamındaki satıra gitmenizi sağlar.
  1. Acknowledge (ACK – Code 6):
  • Herhangi anahtarla doğrudan eşleşmiyor. Yine de cihazlar arasında veri gönderilmesinde kullanılan benzersiz kontrol karakteridir.
  1. End of Text (ETX – Code 3):
  • Code 3 genellikle klavyedeki tuşla eşleşmez. Yani veri iletişiminde veya programlamada kullanılan eşsiz koddur.

Kontrol karakterleri bilgisayar yazılımı & programlamasında önemlidir. Ancak genişletilmiş tabloda bazı değerler farklı olabilir. Tablo eski olmasına rağmen hala bazı eski cihazlarda çalışmaktadır. Unutmayın, artık UnicodeUTF-8 gibi gelişmiş kodlarımız var. Özetle, metin kontrol kodları verileri birçok farklı şekilde yönetmenize izin verir.

Binary (İkili) Sistemde Nasıl Çalışır?

ASCII kodu tablosundaki her karakterin ikili kodu (binary) vardır. Kodlar bilgisayarların birbirleriyle konuşmasını sağlar. Başlıca ikili kodlar, 0 & 1’lerden oluşan elektrik sinyalini temsil eder.

Diyelim ki klavyenizdeki büyük ‘A‘ harfine bastınız. İkili sistem devreye giriyor. Bilgisayarınız ‘A’ harfine 01000001 ikili kodunu verir. Ardından, kodlama sistemi devreye girer. İkili koda bakarak size eşleşen değeri yani 65’i yani tablosuna göre ‘A’yı söyler.

Bundan dolayı, metin teknolojisinin elektronik cihazlarda koda dönüştürmek amacıyla nasıl çalıştığını anlamak çok önemlidir.

Karakter Kodlama Uygulamaları

  1. Bilgisayar Sistemleri

Bilgisayar sistemlerinde her türlü metnin gösterilmesi büyük önem taşır. Dolayısıyla insanlar bunu özellikle programlama dilleri gibi konularda çok kullanıyor. Ayrıca dosya sistemlerinde & farklı yazılım programlarında da kullanışlıdır.

  1. İnternet & E-Posta

İnternetteki iletişim kuralları açısından çok önemlidir. Örneğin, e-posta göndermek adına SMTP protokolünü kullanır. Ayrıca, FTP veya HTTPS gibi protokollerde olduğu gibi web üzerindeki metni de gösterir.

  1. Veri İletimi

Farklı bilgisayarlar arasında veri gönderilmesine yardım eder. Seri iletişimde olduğu gibi ağ protokollerinde veri paylaşımını destekler.

  1. Yazıcılar & Ekranlar

Yazıcılarda ya da ekranlarda metni gösterir. Temel olarak tüm karakterleri & işaretleri ekrana yerleştirir. Ayrıca yazıcı gibi cihazlarda metnin yazdırılmasına da destekler.

  1. Komut Satırı Arayüzleri

Windows veya Linux gibi sistemlerde kullandığınız komut istemindeki metni gösterir. Yani komut yazdığınızda size harf veya sembol sunulur.

  1. Eski Sistemler & Cihazlar

Hesap makineleri gibi eski sistemlerde kullanımı mevcuttur. Yani sayı yazdığınızda ekranda gayet iyi görünüyor.

  1. Veri Depolama

Metin verilerini Word, PDF ayrıca daha fazlası gibi formatlarda kaydetmenize olanak tanır. Artı, HTML‘deki gibi web içeriklerindeki metni anlamak da kritik öneme sahiptir.

Özetlemek gerekirse, metin kodlama bilgi içeren her şeyin parçasıdır. Yani, bilgisayarınızda yazı yazdığınızda, bunu gerçekleştirenin bu set olduğunu bilin. Tuşa dokunduğunuzda, arka planda sessizce işini yaparak size metni gösterir.

ASCII & Unicode Karşılaştırması

Farklı işlerde kullanılan metin kodlama sistemlerinin bazı farklılıkları bulunmaktadır. Büyük fark, kaç karakteri idare edebilecekleridir. Örneğin, biri az veriyi işleyebilirken diğeri çok fazlasını alabilir.

Özellikle Unicode, birçok dili içeren görevlerde mükemmeldir. Diğerinden yenidir & özel karakterleri işleyebilir. Ancak hız söz konusu olduğunda eski seti Unicode’dan hızlıdır.

ASCII & Unicode arasındaki farkların özetini aşağıdaki tabloda bulabilirsiniz:

Karşılaştırma: ASCII & Unicode
ÖzellikASCIIUnicode
Bit Boyutu7 & 8 bits16 bit
Karakter Sayısı128 veya 256Bir milyondan fazla
UyumlulukGeniş kullanım, çok sayıda uyumlulukKüresel dilleri, çoklu dil desteği
BasitlikKullanımı kolay, basit kurulumDaha karmaşıktır & daha fazla öğrenme gerektirir
HızDaha hızlı işleme & göndermeDaha yavaş
Destekli DillerÇoğunlukla İngilizce, sınırlıTüm dünya dilleri birçok dili destekler
Emoji gibi Özel KarakterlerHayırEvet, emojileri & sembolleri içerir
Depolama GereksinimiDaha az depolama alanına ihtiyaç duyarDaha fazla depolama alanına ihtiyacı var

Modern Teknolojide ASCII Kullanımı & Uyumsuzluklar

Bilgi işlem dünyasında temel teknoloji olan ASCII elbette halen önemlidir. Ancak, günümüzün küresel & çeşitli dijital ortamında bazı zorluklar görürüz.

Ne yazık ki, karakter seti bazı sınırlamaları da beraberinde getiriyor. Başlangıçta, ASCII standart iletişimde devrim niteliğinde çözüm sundu.

Bununla birlikte, yapısının basit olması bazı kısıtlamalara da yol açtı. Aslında, modern ihtiyaçlarımıza her zaman tam olarak karşılık veremeyebilir.

1. Sınırlı Karakter Seti

ASCII’nin en dikkat çekici sınırlamalarından biri, kısıtlı karakter setidir. Ayrıca, yalnızca 7 bitlik kodlama şeması kullanıyor. Ancak, sistem en fazla 128 karaktere izin veriyor.

Karakter seti, temel İngilizce harfleri & rakamları içeriyor. Ek olarak, bazı noktalama işaretleri & kontrol kodları da vardır.

Ancak yapı, diğer dillerdeki karakterler için yetersiz kalıyor. Örneğin, özel sembolleri temsil etmede ciddi eksiklikleri vardır.

İnternet küresel platforma dönüşürken kullanıcı ihtiyaçları da değişti. Bu nedenle, daha geniş karakter setlerine sahip kodlama sistemleri ön plana çıktı. Sebeplerden ötürü ASCII modern dijital dünyada sınırlı kaldı.

Örneğin, Çince, Arapça ve Hintçe dillerinde çok daha fazla karakter var. Karakterler, ASCII’nin sınırlı kapasitesini büyük ölçüde aşıyor.

Aslında, durum bizlere ciddi iletişim engeli oluşturuyor. İşte bu yüzden, Unicode gibi sistemleri görmeye başladık. Unicode on binlerce karakteri destekliyor.

Ek olarak, birçok dil & sembol setiyle de sorunsuz çalışıyor. Şuan, Unicode setini günümüzde daha yaygın şekilde kullanıyoruz.

2. Modern Uygulamalar ile Uyumsuzluk

ASCII, birçok programlama dilinde veri protokolü açısından önemlidir. Sınırlamaları yüzünden modern uygulamalarda bazı zorluklar yaşabiliriz. Ancak, küresel kullanıcılar için uygulamalar geliştirmeye devam ediyoruz.

Aslında, yalnızca ASCII setine güvenirsek sorunlar yaşayabiliriz. Örneğin, metin oluşturma ve veri paylaşımı bu durumdan başında gelir. Ayrıca, kullanıcı deneyimi için de olumsuz olabilir.

Artı, birçok modern uygulama artık Unicode benzeri sistemleri kullanıyor. Bu sayede, platformlar & cihazlar arasında uyumluluk görüyoruz.

Örneğin, bir web uygulaması yalnızca ASCII kullanıyorsa ciddi sorunlar yaşarız. Eğer set dışındaki karakterleri kullanıyorsa metinleri doğru göremeyiz. Yani, hatalara, iletişim sorunlarına veya veri kaybına neden olur.

Kısacası, yeni teknolojiye ayak uydurmazsak kullanıcı memnuniyeti olumsuz olur. Dahası bilgiye erişimimiz zarar görür.

3. Veri Kaybı Potansiyeli

ASCII sistemleriye modern kodlama arasında aktarım her zaman sorunsuz değildir. Veri kaybı veya bozulma riski sıkça ortaya çıkar.

Özellikle ASCII dışı karakterler içeren metinlerde riski daha çok görürüz. Dolayısıyla bununla sınırlı sistemler karakterleri işleyemez.

Metinleri bozuk ya da okunamaz halde görürüz. Sorunu kullanıcı içeriklerinde daha yaygın farkedebiliriz. Örneğin, yorumlar, forumlar veya veritabanları bunları sıklıkla içeriyor. Bu yüzden, veri geçişi sırasında karakter tanıma sorunları ciddi hatalara yol açıyor.

4. Modern Özellikler İçin Sınırlı Destek

ASCII ile ilgili diğer zorluk, modern metin desteğinin az olmasıdır diyebilirim. Özellikle emojileri & özel sembolleri desteklemiyor.

Günümüzde emojiler dijital iletişimimizde büyük önem kazandı. Örneğin bunları sosyal medya ve mesajlaşma uygulamalarında sıklıkla kullanıyoruz.

Ancak, ASCII bu öğeleri tek başına barındıramaz. Artı, ek kodlama yöntemleri olmadan emoji desteği de mümkün değildir. Eksiklik, özellikle çoğu web platformlarında sorun yaratıyor. Bundan dolayı, mesajlaşırken ifadelerimizi olumsuz etkileyebilir.

PowerShell ile Metin Girerek ASCII Değerleri Nasıl Bulunur?

PowerShell, Windows bilgisayarlarda komutlar & komut dosyaları oluşturmanıza yardem eder. Böylece basit bir komutla yazdığınız metnin ASCII kodunu hızlıca bulabilirsiniz. Açıkçası metni sayılara dönüştürmenize yardımcı olacak küçük bir komut dosyası hazırladım.

Windows 11 veya daha eski sistemde metnin ASCII kodu değerini görmek için şu adımları izleyin:

  1. PowerShell’i açmak için Başlat menüsüne “PowerShell” yazarak onu çalıştırın. Veya CMD komut istemine yazarak buna geçiş yapabilirsiniz.
  2. İlgili bağlantıdan PowerShell komutunu kopyalayıp konsola yapıştırın. Bunu yaptığınızda sizden metin yazmanızı isteyen mesaj alacaksınız.

Powershell ile Bir Metnin ASCII Kodunu Bulma

  1. Örneğin, Enter Text (Metin Gir) kısmına tümü küçük harflerle “hello” yazarak Enter tuşuna basın.
  2. Artık konsolda Değerler altında merhaba kelimesinin karakter kodlarını göreceksiniz. Bu kod 104 101 108 108 111‘dir.

Sık Sorulan Sorular (SSS / FAQ)

  1. Basit kelimelerle ASCII nedir?
Basit kelimelerde, bilgisayarların ve diğer aygıtların metin kullanarak birbirleriyle konuşma şeklidir. Temel olarak cihazların iletişim kurmasına ve metin göstermesine yardımcı olur.
  1. ASCII formatı ne için kullanılır?
Bu karakter seti, metni farklı cihazlarda doğru şekilde göstermeye yönelik bir kural kitabı gibidir. Yani bir cihazda yazdığınız metni diğer cihazda okumanızı sağlıyor. Bu sadece harfler için değil; aynı zamanda sayıları, komutları ve noktalama işaretlerini de yönetir. Programcılar bunu komutlardaki karakterleri doğru anlamak için kullanırlar.
  1. ASCII bir kodlama mıdır?
Elbette ASCII kodunu benzersiz bir kodlama yöntemi olarak görebilirsiniz. Her şey cihazların anlayabileceği sayıları metne dönüştürmekle ilgilidir. Daha basitçe her harf bir kod sürecinden geçer. Bundan sonra dönüştüğü sayı tüm bilgisayarlarda aynı anlama gelir.
  1. Tüm bilgisayarlar bu karakter kodlamasını kullanıyor mu?
Kesinlikle tüm bilgisayarlar metni anlamak için bunu kullanır. Ayrıca teknoloji geliştikçe hem eski hem de şık cihazlar için Unicode gibi yeni sürümlerimiz var. Yani sonuçta her bilgisayar bu yazı sistemlerini kullanıyor.

Sonuç

Sonuç olarak, ASCII kodu 1960’lı yıllardan günümüze çok değişti. Temel ASCII’den Genişletilmiş ASCII & Unicode’a hatta UTF-8 gibi daha yenilerine geçti. Programlama zorunludur çünkü cihazların birbirleriyle etkili şekilde konuşmasına destek olur. Dolayısıyla, yazılım & sistemlerin iyi çalışmasını sağlamak çok önemlidir.

Yeni karakter kodu türleri ortaya çıksa da ASCII hala gereklidir. Birçok farklı alanda metni göstermenin birincil yolu olarak kullanılır. Teknoloji ilerleme kaydedince bunun nasıl değiştiğini görmek ilginç. Kısacası gelecekte bilgisayarların çalışma şeklini etkilemeye devam edecek.

Add a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir