ASCII - ASCII
MIME / IANA | us-ascii |
---|---|
takma ad(lar) | ISO-IR-006, ANSI_X3.4-1968, ANSI_X3.4-1986, ISO_646.irv:1991, ISO646-US, us, IBM367, cp367 |
Diller) | İngilizce |
sınıflandırma | ISO 646 serisi |
Uzantılar |
|
Öncesinde | ITA 2 , ALAN VERİLERİ |
tarafından başarıldı | ISO 8859 , Unicode |
ASCII ( / æ s k i / ( dinlemek ) ASS -kee dan kısaltılır), Bilgi Değişimi İçin Amerikan Standart Kodu , bir olduğunu kodlayan karakter elektronik iletişim için bir standart. ASCII kodları bilgisayarlar, telekomünikasyon ekipmanı ve diğer cihazlardaki metni temsil eder . Modern karakter kodlama şemalarının çoğu, birçok ek karakteri desteklemelerine rağmen ASCII'ye dayanmaktadır.
Internet Assigned Numbers Authority (IANA) adı tercih ABD-ASCII bu karakter kodlama için.
ASCII, IEEE kilometre taşlarından biridir .
genel bakış
ASCII, telgraf kodundan geliştirilmiştir . İlk ticari kullanımı, Bell veri servisleri tarafından tanıtılan yedi bitlik bir teleprinter koduydu . ASCII standardı üzerindeki çalışmalar, Amerikan Standartlar Birliği'nin (ASA) (şimdi Amerikan Ulusal Standartlar Enstitüsü veya ANSI) X3.2 alt komitesinin ilk toplantısıyla Mayıs 1961'de başladı . Standardın ilk baskısı 1963'te yayınlandı, 1967'de büyük bir revizyona uğradı ve en son güncellemesini 1986'da yaşadı. Daha önceki telgraf kodlarıyla karşılaştırıldığında, önerilen Bell kodu ve ASCII'nin her ikisi de daha uygun sıralama (yani alfabetik) için sıralandı. ) tele yazıcılar dışındaki cihazlar için listeler ve eklenen özellikler.
Network Interchange için ASCII formatının kullanımı 1969'da açıklandı. Bu belge 2015'te resmen bir İnternet Standardına yükseltildi.
Orijinal olarak İngiliz alfabesine dayanan ASCII, yukarıdaki ASCII tablosunda gösterildiği gibi 128 belirtilen karakteri yedi bit tam sayılara kodlar . Kodlanmış karakterlerin doksan beşi yazdırılabilir: bunlar arasında 0 ila 9 arasındaki rakamlar , a ila z arasındaki küçük harfler , A ila Z arasındaki büyük harfler ve noktalama işaretleri bulunur . Ek olarak, orijinal ASCII spesifikasyonu , Teletype makinelerinden kaynaklanan 33 yazdırılmayan kontrol kodunu içeriyordu ; satır başı , satır besleme ve sekme kodları gibi birkaçı hala yaygın olarak kullanılmaktadır, ancak bunların çoğu artık kullanılmamaktadır .
Örneğin, küçük harf i , ASCII kodlamasında ikili 1101001 = onaltılık 69 ( i dokuzuncu harftir) = ondalık 105 ile temsil edilir.
Tarih
Bilgi Değişimi için Amerikan Standart Kodu (ASCII), X3 komitesi olarak adlandırılan Amerikan Standartlar Birliği'nin (ASA) bir komitesinin himayesinde , X3.2 (daha sonra X3L2) alt komitesi ve daha sonra bu alt komitenin X3'ü tarafından geliştirilmiştir. 2.4 çalışma grubu (şimdi INCITS ). ASA, Amerika Birleşik Devletleri Standartlar Enstitüsü (USASI) ve nihayetinde Amerikan Ulusal Standartlar Enstitüsü (ANSI) oldu.
Doldurulan diğer özel karakterler ve kontrol kodları ile ASCII, ASA X3.4-1963 olarak yayınlandı, 28 kod pozisyonu atanmış herhangi bir anlam olmadan, gelecekteki standardizasyon için ayrılmış ve bir atanmamış kontrol kodu bıraktı. Küçük harfli alfabe yerine daha fazla kontrol karakteri olması gerekip gerekmediği konusunda bazı tartışmalar vardı. Kararsızlık uzun sürmedi: Mayıs 1963'te CCITT Yeni Telgraf Alfabesi Çalışma Grubu, 6 ve 7 numaralı çubuklara küçük harfler atamayı önerdi ve Uluslararası Standardizasyon Örgütü TC 97 SC 2, değişikliği kendi taslak standardına dahil etmek için Ekim ayında oy kullandı. . X3.2.4 görev grubu, Mayıs 1963 toplantısında ASCII'deki değişikliğin onayını oyladı. 6. ve 7. çubuklarda küçük harflerin bulunması, karakterlerin bit deseninde büyük harften tek bir bit kadar farklı olmasına neden oldu, bu da büyük/küçük harfe duyarsız karakter eşleştirmeyi ve klavyelerin ve yazıcıların yapısını basitleştirdi .
X3 komitesi, diğer yeni karakterler ( köşeli ayraç ve dikey çubuk karakterleri), bazı kontrol karakterlerini yeniden adlandırma (SOM, başlığın başlangıcı (SOH) oldu) ve diğerlerini taşıma veya kaldırma (RU kaldırıldı) dahil olmak üzere başka değişiklikler yaptı . ASCII daha sonra USAS X3.4-1967, ardından USAS X3.4-1968, ANSI X3.4-1977 ve son olarak ANSI X3.4-1986 olarak güncellendi.
ASCII standardının revizyonları:
- ASA X3.4-1963
- ASA X3.4-1965 (onaylandı, ancak yayınlanmadı, buna rağmen IBM 2260 ve 2265 Display Stations ve IBM 2848 Display Control tarafından kullanılıyor)
- USAS X3.4-1967
- USAS X3.4-1968
- ANSI X3.4-1977
- ANSI X3.4-1986
- ANSI X3.4-1986 (R1992)
- ANSI X3.4-1986 (R1997)
- ANSI, 4-1986 (R2002)
- ANSI, 4-1986 (R2007)
- (ANSI) 4-1986'YI KAÇIRIYOR[R2012]
- (ANSI) 4-1986'YI KAÇIRIYOR[R2017]
X3.15 standardında, X3 komitesi ayrıca ASCII'nin nasıl iletilmesi gerektiğini (önce en az anlamlı bit ) ve bunun delikli teybe nasıl kaydedilmesi gerektiğini ele aldı. Manyetik bant için 9 kanallı bir standart önerdiler ve bazı delikli kart formatlarıyla uğraşmaya çalıştılar .
Tasarım konuları
bit genişliği
X3.2 alt komitesi, daha önceki teleprinter kodlama sistemlerine dayalı olarak ASCII'yi tasarladı. Diğer karakter kodlamaları gibi , ASCII de dijital bit desenleri ve karakter sembolleri (yani, grafikler ve kontrol karakterleri ) arasındaki bir yazışmayı belirtir . Bu, dijital cihazların birbirleriyle iletişim kurmasına ve yazılı dil gibi karakter odaklı bilgileri işlemesine, depolamasına ve iletmesine olanak tanır . ASCII geliştirilmeden önce, kullanılan kodlamalar 26 alfabetik karakter, 10 sayısal basamak ve 11 ila 25 özel grafik sembolü içeriyordu. Tüm bunları ve Comité Consultatif International Téléphonique et Télégraphique (CCITT) Uluslararası Telgraf Alfabesi No. 2 (ITA2) 1924, FIELDATA (1956) ve erken EBCDIC (1963) ile uyumlu kontrol karakterlerini dahil etmek için 64'ten fazla kod vardı. ASCII için gereklidir.
ITA2, Émile Baudot'un 1870'de icat ettiği ve 1874'te patentini aldığı 5 bitlik telgraf koduna dayanıyordu .
Komite , 64'ten fazla kodun altı bitlik bir kodla temsil edilmesine izin verecek bir kaydırma işlevinin ( ITA2'deki gibi ) olasılığını tartıştı . Kaydırılan bir kodda, bazı karakter kodları, aşağıdaki karakter kodları için seçenekler arasındaki seçenekleri belirler. Kompakt kodlamaya izin verir, ancak veri aktarımı için daha az güvenilirdir , çünkü kaydırma kodunun iletilmesindeki bir hata tipik olarak iletimin uzun bir bölümünü okunamaz hale getirir. Standartlar komitesi kaymaya karşı karar verdi ve bu nedenle ASCII en az yedi bitlik bir kod gerektirdi.
Komite, sekiz bitlik bir kodu düşündü, çünkü sekiz bit ( sekizler ), iki dört bitlik desenin, ikili kodlu ondalık sayı ile iki basamağı verimli bir şekilde kodlamasına izin verecekti . Ancak, yedi bit yeterli olduğunda, tüm veri iletiminin sekiz bit göndermesini gerektirecektir. Komite, veri iletimiyle ilgili maliyetleri en aza indirmek için yedi bitlik bir kod kullanmaya karar verdi. Zamanda delikli bant bir pozisyonda sekiz bit kayıt olabilir beri, aynı zamanda bir izin eşlik biti için hata kontrolü istenirse. Eşlik denetimi kullanmayan sekiz bitlik makineler (yerel veri türü olarak sekizli) tipik olarak sekizinci biti 0'a ayarlar.
iç organizasyon
Kodun kendisi, tanımlama kolaylığı için çoğu kontrol kodu ve tüm grafik kodları bir arada olacak şekilde modellenmiştir. İlk iki sözde ASCII çubuğu (32 konum) kontrol karakterleri için ayrılmıştı. "Boşluk" karakteri yapmak için grafik önce gelmek zorunda sıralama bu konumunu belirlemeye 20. oldu böylece daha kolay altıgen ; Aynı nedenle, ayırıcı olarak yaygın olarak kullanılan birçok özel işaret, rakamların önüne yerleştirildi. Komite, büyük harfli 64 karakterli alfabeleri desteklemenin önemli olduğuna karar verdi ve DEC SIXBIT kodunda (1963) yapıldığı gibi, kolayca kullanılabilir 64 karakterlik bir grafik kod grubuna indirgenebilmesi için ASCII modelini seçti . Bu nedenle küçük harfler büyük harflerle karıştırılmamıştır. Küçük harfler ve diğer grafikler için seçenekleri mevcut tutmak için, özel ve sayısal kodlar harflerin önüne yerleştirildi ve A harfi karşılık gelen İngiliz standardının taslağına uyması için 41 hex konumuna yerleştirildi . 0-9 arasındaki rakamların önüne 011 eklenir, ancak kalan 4 bit ikili olarak ilgili değerlerine karşılık gelir ve ikili kodlu ondalık sayı ile dönüştürmeyi kolaylaştırır .
Alfanümerik olmayan karakterlerin çoğu, daktilolardaki kaydırılmış konumlarına karşılık gelecek şekilde yerleştirildi; Önemli bir incelik, bunların elektrikli daktilolara değil , mekanik daktilolara dayanmasıdır . Mekanik daktilolar, kaydırma tuşu olan ilk daktilo olan Remington No. 2 (1878) tarafından belirlenen standardı izledi ve kaydırılan değerleri vardı - erken daktilolarda O (büyük harf o ) ve l (küçük harf ) kullanılarak 0 ve 1 atlandı L ) yerine, ancak ve 0 ve 1 ortak hale geldiğinde ve çiftleri standart hale geldi. Böylece, ASCII'de , bitişik çubuktaki 1-5 rakamlarına karşılık gelen 1-5 konumları ikinci çubuğa yerleştirildi. Ancak parantezler 9 ve 0'a karşılık gelemez , çünkü 0'a karşılık gelen yer boşluk karakteri tarafından alınmıştır. Bu, 6'dan (alt çizgi) kaldırılarak ve kalan karakterleri kaydırarak yerine getirildi; bu, parantezleri 8 ve 9 ile yerleştiren birçok Avrupalı daktiloya karşılık geldi . Daktilolardaki bu farklılık, bit eşli klavyelere , özellikle de geleneksel mekanik daktilolara değil, ASCII'ye karşılık gelen sola kaydırılmış düzeni kullanan Teletype Model 33'e yol açtı . Elektrikli daktilolar, özellikle IBM Selectric (1961), bilgisayarlarda standart hale gelen biraz farklı bir düzen kullandı - IBM PC'yi (1981), özellikle Model M'yi (1984) takiben - ve bu nedenle, modern klavyelerdeki semboller için kaydırma değerleri birbirine uymuyor. ASCII tablosuna daha önceki klavyelerde olduğu kadar yakın. Çifti de 2 Nolu tarihleri ve çiftleri (shift vermedi 2 Nolu dahil olmak üzere diğer bazı klavyelerde kullanılmıştır (virgül) ya da onlar unshifting olmadan büyük harfle kullanılabilir böylece (tam durak)). Ancak, ASCII çifti (No. 2'ye tarihlenen) böldü ve matematiksel sembolleri (çeşitli konvansiyonlar, genellikle ) olarak yeniden düzenledi .
23456789-
"#$%_&'()
1!
0)
!"#$%
_
/?
,< .>
,
.
;:
-* =+
:* ;+ -=
Bazı yaygın karakterler dahil edilmedi, özellikle ½¼¢
, ^`~
uluslararası kullanım ve <>
matematiksel kullanım için aksan olarak dahil edildi , basit satır karakterleriyle birlikte \|
(ortak karaktere ek olarak /
). @ Sembolü kıta Avrupa'da kullanılmamıştır ve komite bir aksanlı yerini olacağını tahmin À yüzden, Fransız varyasyon @ pozisyonu 40 yerleştirildi onaltılık sağ A harfinin önce
Veri iletimi için gerekli hissedilen kontrol kodları mesajın başlangıcı (SOM), adres sonu (EOA), mesajın sonu (EOM), iletimin sonu (EOT), "kimsin sen?" (WRU), "sen misin?" (RU), ayrılmış bir cihaz kontrolü (DC0), senkron boşta (SYNC) ve onay (ACK). Bunlar , bit desenleri arasındaki Hamming mesafesini maksimize edecek şekilde yerleştirildi .
Karakter sırası
ASCII-kod sırasına ASCIIbetik sıra da denir . Verilerin harmanlanması bazen "standart" alfabetik sıra ( harmanlama sırası ) yerine bu sırayla yapılır . ASCII düzenindeki ana sapmalar şunlardır:
- Tüm büyük harfler küçük harflerden önce gelir; örneğin, "Z", "a"dan önce gelir
- Rakamlar ve birçok noktalama işareti harflerden önce gelir
Bir ara sıra, ASCII değerlerini karşılaştırmadan önce büyük harfleri küçük harflere dönüştürür.
Karakter grupları
Kontrol karakterleri
ASCII, kontrol karakterleri için ilk 32 kodu (0-31 ondalık sayılar) ayırır : orijinal olarak yazdırılabilir bilgileri temsil etmeyi değil, ASCII'yi kullanan cihazları ( yazıcılar gibi ) kontrol etmeyi veya veriler hakkında meta bilgi sağlamayı amaçlayan kodlar manyetik bantta depolananlar gibi akışlar.
Örneğin, karakter 10 "satır besleme" işlevini temsil eder (yazıcının kağıdını ilerletmesine neden olur) ve karakter 8 "geri al" işlevini temsil eder. RFC 2822 satır, satır besleme veya kapsamamaktadır kontrol karakterleri belirtir boşluk boşluk olmayan kontrol karakterleri olarak. Temel satır yönelimli biçimlendirmeyi belirleyen kontrol karakterleri dışında, ASCII, bir belge içindeki metnin yapısını veya görünümünü açıklamak için herhangi bir mekanizma tanımlamaz. İşaretleme dilleri , adres sayfası ve belge düzeni ve biçimlendirmesi gibi diğer şemalar .
Orijinal ASCII standardı, her kontrol karakteri için yalnızca kısa tanımlayıcı ifadeler kullandı. Bunun neden olduğu belirsizlik bazen kasıtlıydı, örneğin bir karakterin bir terminal bağlantısında bir veri akışındakinden biraz farklı şekilde ve bazen de örneğin "sil" anlamında kazara kullanıldığı durumlarda.
Bu karakterlerin yorumlanmasında muhtemelen en etkili tek cihaz, mevcut bir kağıt şerit okuyucu/delme seçeneğine sahip bir baskı terminali olan Teletype Model 33 ASR idi . Kağıt bant, 1980'lere kadar uzun vadeli program depolama için çok popüler bir ortamdı, manyetik banttan daha az maliyetli ve bazı yönlerden daha az kırılgandı. Özellikle, kodlar 17 (Control-Q, DC1, XON olarak da bilinir), 19 (Control-S, DC3, XOFF olarak da bilinir) ve 127 ( Delete ) için Teletype Model 33 makine atamaları fiili standartlar haline geldi. Model 33 ayrıca, ünite bir BEL karakteri aldığında çalan gerçek bir zil içerdiğinden, Control-G'nin (kod 7, BEL, operatörü sesli olarak uyarmak anlamına gelir) tanımını tam anlamıyla almasıyla da dikkate değerdi. O tuşunun klavyesi ayrıca bir sol ok sembolü gösterdiğinden ( alt çizgi yerine bu karaktere sahip olan ASCII-1963'ten ), kod 15'in (Control-O, Shift In) uyumlu olmayan bir kullanımı "önceki karakteri sil" olarak yorumlandı birçok erken devre paylaşım sistemi tarafından da benimsendi, ancak sonunda ihmal edildi.
Otomatik kağıt şerit okuyucu ile donatılmış bir Teletype 33 ASR, bir Control-S (XOFF, iletim kapalı için bir kısaltma) aldığında, şerit okuyucunun durmasına neden oldu; Control-Q'nun (XON, "iletim açık") alınması, şerit okuyucunun devam etmesine neden oldu. Bu teknik, birkaç erken bilgisayar işletim sistemi tarafından, yaklaşan taşma nedeniyle göndericiyi iletimi durdurması için uyaran bir "tokalaşma" sinyali olarak benimsendi; bu güne kadar birçok sistemde manuel çıktı kontrol tekniği olarak varlığını sürdürmektedir. Bazı sistemlerde Control-S anlamını korur, ancak çıkışı sürdürmek için Control-Q ikinci bir Control-S ile değiştirilir. 33 ASR ayrıca şerit delgiyi başlatmak ve durdurmak için Control-R (DC2) ve Control-T (DC4) kullanacak şekilde yapılandırılabilir; bu işlevle donatılmış bazı ünitelerde, harfin üzerindeki tuş başlığında karşılık gelen kontrol karakteri harfleri sırasıyla TAPE ve TAPE idi.
Sil ve Geri Al
Teletype, kafayı geriye doğru hareket ettiremedi, bu yüzden klavyeye bir BS (backspace) göndermek için bir tuş koymadı. Bunun yerine, RUB OUT127 (DEL) kodunu gönderen işaretli bir anahtar vardı . Bu anahtarın amacı, elle yazılmış bir kağıt banttaki hataları silmekti: operatörün, onu yedeklemek için bant delgisinin üzerindeki bir düğmeye basması, ardından tüm delikleri açan ve hatayı şu karakterle değiştiren ovalamayı yazması gerekiyordu. göz ardı edilmek istendi. Teletipler, Digital Equipment Corporation'ın daha ucuz bilgisayarları için yaygın olarak kullanılıyordu , bu nedenle bu sistemler önceki karakteri silmek için mevcut anahtarı ve dolayısıyla DEL kodunu kullanmak zorunda kaldı. Bu nedenle, DEC video terminalleri (varsayılan olarak) "Backspace" ile işaretlenmiş tuş için DEL kodunu gönderirken "Delete" ile işaretlenmiş tuş bir kaçış dizisi gönderirken, diğer birçok terminal Backspace tuşu için BS göndermiştir. Unix terminal sürücüsü, önceki karakteri silmek için yalnızca bir kod kullanabilir, bu, BS veya DEL olarak ayarlanabilir , ancak ikisi birden olamaz, bu da kullanıcıların hangi terminali kullandıklarına (kabuklar) bağlı olarak düzeltmek zorunda kaldıkları uzun bir sıkıntı süresine neden olur. ksh , bash ve zsh gibi satır düzenlemeye izin veren her ikisini de anlayın). Hiçbir anahtarın bir BS göndermediği varsayımı, Control+H'nin GNU Emacs'taki "help" öneki komutu gibi başka amaçlar için kullanılmasına neden oldu .
Kaçmak
Daha birçok kontrol koduna orijinallerinden oldukça farklı anlamlar verilmiştir. Örneğin "kaçış" karakteri (ESC, kod 27), orijinal olarak, anlamlarını çağırmak yerine diğer kontrol karakterlerini değişmez değerler olarak göndermeye izin vermek için tasarlanmıştır. Bu, URL kodlamalarında, C dili dizelerinde ve belirli karakterlerin ayrılmış bir anlama sahip olduğu diğer sistemlerde karşılaşılan "kaçış"ın aynı anlamıdır. Zamanla bu anlam benimsenmiş ve sonunda değiştirilmiştir. Modern kullanımda, terminale gönderilen bir ESC genellikle ECMA-48'den genellikle " ANSI kaçış kodu " (veya daha doğrusu " Kontrol Dizisi Tanıtıcı ") olarak adlandırılan bir komut dizisinin başlangıcını gösterir ( 1972) ve ardılları, ESC ile başlayan ve ardından bir "[" (sol ayraç) karakteri. Terminalden gönderilen bir ESC, çoğunlukla TECO ve vi metin düzenleyicilerinde olduğu gibi, bir işlemi sonlandırmak için kullanılan bant dışı bir karakter olarak kullanılır . Olarak , grafik kullanıcı arabirimi (GUI) ve pencereleme sistemleri ESC genel olarak geçerli işlemi veya iptal etmek için bir uygulama neden olur çıkış tamamen (sonlandırmak).
Yolun sonu
Birçok kontrol karakterinin doğasında var olan belirsizliği, tarihsel kullanımlarıyla birleştiğinde, sistemler arasında "düz metin" dosyaları aktarılırken sorunlar yaratmıştır. Buna en iyi örnek , çeşitli işletim sistemlerindeki yeni satır sorunudur . Teletype makineleri, bir metin satırının hem "Satır Başı" (yazıcı kafasını satırın başına hareket ettirir) hem de "Satır Besleme" (yazıcı kafasını hareket ettirmeden kağıdı bir satır ilerletir) ile sonlandırılmasını gerektiriyordu. "Satır Başı " adı, manuel bir daktiloda , daktilo çubuklarının şeride çarptığı konum sabit kalırken kağıdı tutan taşıyıcının hareket etmesi gerçeğinden gelir . Kağıdın sol kenar boşluğunu bir sonraki satıra yerleştirmek için tüm taşıyıcının sağa itilmesi (geri döndürülmesi) gerekiyordu.
DEC işletim sistemleri ( OS/8 , RT-11 , RSX-11 , RSTS , TOPS-10 , vb.), konsol cihazının (başlangıçta Teletype makinelerinin ) çalışabilmesi için bir satırın sonunu işaretlemek için her iki karakteri de kullandı . Sözde "cam TTY'ler" (daha sonra CRT'ler veya terminaller olarak anılacaktır) ortaya çıktığında, sözleşme o kadar iyi kurulmuştu ki, geriye dönük uyumluluk, sözleşmenin devam etmesini gerektiriyordu. Tüm Gary Kildall oluşturulan CP / M o kullanılan bazı komut hat ara-yüz sözleşmeler esinlenerek Aralık sitesindeki RT-11 . 1981'de PC DOS'un piyasaya sürülmesine kadar IBM'in bu konuda hiçbir eli yoktu çünkü 1970'lerdeki işletim sistemleri ASCII yerine EBCDIC kullanıyordu ve satır başı kavramının anlamsız olduğu delikli kart girişi ve satır yazıcı çıkışına yönelikti. IBM'in PC DOS'u ( Microsoft tarafından MS-DOS olarak da pazarlanmaktadır ), CP/M'ye gevşek bir şekilde dayalı olması nedeniyle sözleşmeyi devraldı ve Windows bunu MS-DOS'tan devraldı.
Ne yazık ki, bir satırın sonunu işaretlemek için iki karaktere ihtiyaç duyulması, gereksiz karmaşıklığı ve tek başına karşılaşıldığında her bir karakterin nasıl yorumlanacağına dair soruları beraberinde getirir. Sorunları basitleştirmek için , dosyalar dahil olmak üzere düz metin veri akışları, Multics'te satır sonlandırıcı olarak tek başına satır besleme (LF) kullandı. Unix ve Unix benzeri sistemler ve Amiga sistemleri Multics'ten bu kuralı benimsemiştir. Orijinal Macintosh OS , Apple DOS ve ProDOS ise satır sonlandırıcı olarak tek başına satır başı (CR) kullandı; ancak Apple bu işletim sistemlerini Unix tabanlı macOS işletim sistemiyle değiştirdiği için artık satır besleme (LF) de kullanıyorlar. Radio Shack TRS-80 ayrıca hatları sonlandırmak için yalnız bir CR kullandı.
ARPANET'e bağlı bilgisayarlar, CR-LF satır sonlarını kullanan TOPS-10 ve TENEX gibi işletim sistemlerini çalıştıran makineleri, LF satır sonlarını kullanan Multics gibi işletim sistemlerini çalıştıran makineleri ve hatları şu şekilde temsil eden OS/360 gibi işletim sistemlerini çalıştıran makineleri içeriyordu. satırın karakterlerinin ardından gelen ve ASCII yerine EBCDIC kullanan bir karakter sayısı . Telnet protokolü bir ASCII "tanımlı Ağ Sanal Terminali farklı satır sonlandırma sözleşme ve karakter setleri ile ana arasındaki bağlantılar ağ üzerinden standart bir metin biçimi iletilmesi tarafından desteklenen olabilir böylece," (NVT). Telnet, CR-LF satır sonlarıyla birlikte ASCII'yi kullandı ve diğer kuralları kullanan yazılımlar, yerel kurallar ve NVT arasında çeviri yapacaktı. Dosya Aktarım Protokolü komutları ileten ve varsayılan ASCII modunda veri aktarımı sırasında kullanılmak üzere ağ sanal Terminal kullanımını içeren Telnet protokolü onayladı. Bu, NVT'nin CR-LF hat sonlandırma kuralını kullanmayan sistemlerde bu protokollerin uygulamalarına ve E-posta ve World Wide Web için kullanılanlar gibi diğer ağ protokollerine karmaşıklık katar.
Dosya/Akışın Sonu
PDP-6 monitörü ve onun PDP-10 halefi TOPS-10, bir terminalden giriş için dosya sonu göstergesi olarak Control-Z'yi (SUB) kullandı. CP/M gibi bazı işletim sistemleri, dosya uzunluğunu yalnızca disk blok birimlerinde izledi ve dosyadaki asıl metnin sonunu işaretlemek için Control-Z kullandı. Bu nedenlerle, EOF veya dosya sonu , halk dilinde ve geleneksel olarak , SUBstitute yerine Control-Z için üç harfli bir kısaltma olarak kullanılmıştır . Control-C olarak da bilinen metin sonu kodu ( ETX ), çeşitli nedenlerle uygun değildi, ancak bir dosyayı sonlandırmak için kontrol kodu olarak Z'yi kullanmak, alfabeyi sonlandırmaya benzer ve çok uygun bir kod işlevi görür. anımsatıcı yardım . Tarihsel olarak yaygın ve hala yaygın olan bir kural, genellikle bir klavyeden bir giriş veri akışı yoluyla bir programı kesmek ve durdurmak için ETX kod kuralını kullanır.
C kitaplığı ve Unix kurallarında, metin dizelerini sonlandırmak için boş karakter kullanılır ; bu tür boş sonlandırılmış dizeler , burada Z'nin "sıfır" anlamına geldiği ASCIZ veya ASCIIZ olarak kısaltma olarak bilinebilir.
Kontrol kodu tablosu
İkili | Ekim | Aralık | altıgen | Kısaltma | İsim (1967) | |||||
---|---|---|---|---|---|---|---|---|---|---|
1963 | 1965 | 1967 | ||||||||
000 0000 | 000 | 0 | 00 | BOŞ | NUL | ␀ | ^@ | \0 | Boş | |
000 0001 | 001 | 1 | 01 | SOM | SOH | ␁ | ^A | Başlık Başlangıcı | ||
000 0010 | 002 | 2 | 02 | EOA | STX | ␂ | ^B | Metnin Başlangıcı | ||
000 0011 | 003 | 3 | 03 | EOM | ETX | ␃ | ^C | Metnin Sonu | ||
000 0100 | 004 | 4 | 04 | EOT | ␄ | ^D | İletimin Sonu | |||
000 0101 | 005 | 5 | 05 | WRU | ENQ | ␅ | ^E | Soruşturma | ||
000 0110 | 006 | 6 | 06 | RU | ACK | ␆ | ^F | teşekkür | ||
000 0111 | 007 | 7 | 07 | ZİL | BEL | ␇ | ^G | \a | zil | |
000 1000 | 010 | 8 | 08 | FE0 | BS | ␈ | ^H | \B | geri al | |
000 1001 | 011 | 9 | 09 | HT/SK | HT | ␉ | ^ ben | \T | Yatay sekme | |
000 1010 | 012 | 10 | 0A | LF | ␊ | ^J | \n | Satır besleme | ||
000 1011 | 013 | 11 | 0B | VTAB | VT | ␋ | ^K | \v | Dikey Sekme | |
000 1100 | 014 | 12 | 0C | FF | ␌ | ^L | \F | Form besleme | ||
000 1101 | 015 | 13 | 0D | CR | ␍ | ^M | \r | Satırbaşı | ||
000 1110 | 016 | 14 | 0E | BU YÜZDEN | ␎ | ^H | Dışarı Kaydır | |||
000 1111 | 017 | 15 | 0F | Sİ | ␏ | ^O | Vardiya | |||
001 0000 | 020 | 16 | 10 | DC0 | DLE | ␐ | ^P | Veri Bağlantısından Kaçış | ||
001 0001 | 021 | 17 | 11 | DC1 | ␑ | ^Q | Cihaz Kontrolü 1 (genellikle XON ) | |||
001 0010 | 022 | 18 | 12 | DC2 | ␒ | ^R | Cihaz Kontrolü 2 | |||
001 0011 | 023 | 19 | 13 | DC3 | ␓ | ^S | Cihaz Kontrolü 3 (genellikle XOFF ) | |||
001 0100 | 024 | 20 | 14 | DC4 | ␔ | ^T | Cihaz Kontrolü 4 | |||
001 0101 | 025 | 21 | 15 | HATA | NAK | ␕ | ^U | Olumsuz Teşekkür | ||
001 0110 | 026 | 22 | 16 | SENKRON | SYN | ␖ | ^V | Senkron Boşta | ||
001 0111 | 027 | 23 | 17 | LEM | ETB | ␗ | ^W | İletim Bloğunun Sonu | ||
001 1000 | 030 | 24 | 18 | S0 | YAPABİLMEK | ␘ | ^X | İptal | ||
001 1001 | 031 | 25 | 19 | S1 | EM | ␙ | ^Y | Orta Sonu | ||
001 1010 | 032 | 26 | 1 A | S2 | SS | ALT | ␚ | ^Z | Yerine geçmek | |
001 1011 | 033 | 27 | 1B | S3 | ESC | ␛ | ^[ | \e | Kaçmak | |
001 1100 | 034 | 28 | 1C | S4 | FS | ␜ | ^\ | Dosya Ayırıcı | ||
001 1101 | 035 | 29 | 1B | S5 | GS | ␝ | ^] | Grup Ayırıcı | ||
001 1110 | 036 | 30 | 1E | S6 | RS | ␞ | ^^ | Kayıt Ayırıcı | ||
001 1111 | 037 | 31 | 1F | S7 | Biz | ␟ | ^_ | Birim Ayırıcı | ||
111 1111 | 177 | 127 | 7F | DEL | ␡ | ^? | Silmek |
Diğer gösterimler, örneğin ISO 2047 grafikleri veya onaltılık sayılar gibi özel ekipman tarafından kullanılabilir .
Yazdırılabilir karakterler
Yazdırılabilir karakterler olarak bilinen 20 hex ila 7E hex arasındaki kodlar harfleri, rakamları, noktalama işaretlerini ve birkaç çeşitli sembolü temsil eder . Toplamda 95 yazdırılabilir karakter vardır.
Kod 20 hex , "boşluk" karakteri , bir klavyenin boşluk çubuğu tarafından üretildiği gibi sözcükler arasındaki boşluğu belirtir. Boşluk karakteri (kontrol karakteri yerine) görünmez bir grafik olarak kabul edildiğinden, önceki bölüm yerine aşağıdaki tabloda listelenmiştir.
Kod 7F onaltılı yazdırılamayan "sil" (DEL) kontrol karakterine karşılık gelir ve bu nedenle bu tablodan çıkarılmıştır; önceki bölümün tablosunda ele alınmıştır. ASCII'nin önceki sürümleri, şapka (5E onaltılık ) yerine yukarı oku ve alt çizgi (5F onaltılık ) yerine sol oku kullanıyordu .
İkili | Ekim | Aralık | altıgen | glif | ||
---|---|---|---|---|---|---|
1963 | 1965 | 1967 | ||||
010 0000 | 040 | 32 | 20 | Uzay | ||
010 0001 | 041 | 33 | 21 | ! | ||
010 0010 | 042 | 34 | 22 | " | ||
010 0011 | 043 | 35 | 23 | # | ||
010 0100 | 044 | 36 | 24 | $ | ||
010 0101 | 045 | 37 | 25 | % | ||
010 0110 | 046 | 38 | 26 | & | ||
010 0111 | 047 | 39 | 27 | ' | ||
010 1000 | 050 | 40 | 28 | ( | ||
010 1001 | 051 | 41 | 29 | ) | ||
010 1010 | 052 | 42 | 2A | * | ||
010 1011 | 053 | 43 | 2B | + | ||
010 1100 | 054 | 44 | 2C | , | ||
010 1101 | 055 | 45 | 2B | - | ||
010 1110 | 056 | 46 | 2E | . | ||
010 1111 | 057 | 47 | 2F | / | ||
011 0000 | 060 | 48 | 30 | 0 | ||
011 0001 | 061 | 49 | 31 | 1 | ||
011 0010 | 062 | 50 | 32 | 2 | ||
011 0011 | 063 | 51 | 33 | 3 | ||
011 0100 | 064 | 52 | 34 | 4 | ||
011 0101 | 065 | 53 | 35 | 5 | ||
011 0110 | 066 | 54 | 36 | 6 | ||
011 0111 | 067 | 55 | 37 | 7 | ||
011 1000 | 070 | 56 | 38 | 8 | ||
011 1001 | 071 | 57 | 39 | 9 | ||
011 1010 | 072 | 58 | 3 A | : | ||
011 1011 | 073 | 59 | 3B | ; | ||
011 1100 | 074 | 60 | 3C | < | ||
011 1101 | 075 | 61 | 3 boyutlu | = | ||
011 1110 | 076 | 62 | 3E | > | ||
011 1111 | 077 | 63 | 3F | ? | ||
100 0000 | 100 | 64 | 40 | @ | ` | @ |
100 0001 | 101 | 65 | 41 | A | ||
100 0010 | 102 | 66 | 42 | B | ||
100 0011 | 103 | 67 | 43 | C | ||
100 0100 | 104 | 68 | 44 | NS | ||
100 0101 | 105 | 69 | 45 | E | ||
100 0110 | 106 | 70 | 46 | F | ||
100 0111 | 107 | 71 | 47 | G | ||
100 1000 | 110 | 72 | 48 | H | ||
100 1001 | 111 | 73 | 49 | ben | ||
100 1010 | 112 | 74 | 4A | J | ||
100 1011 | 113 | 75 | 4B | K | ||
100 1100 | 114 | 76 | 4C | L | ||
100 1101 | 115 | 77 | 4D | m | ||
100 1110 | 116 | 78 | 4E | n | ||
100 1111 | 117 | 79 | 4F | Ö | ||
101 0000 | 120 | 80 | 50 | P | ||
101 0001 | 121 | 81 | 51 | Q | ||
101 0010 | 122 | 82 | 52 | r | ||
101 0011 | 123 | 83 | 53 | S | ||
101 0100 | 124 | 84 | 54 | T | ||
101 0101 | 125 | 85 | 55 | sen | ||
101 0110 | 126 | 86 | 56 | V | ||
101 0111 | 127 | 87 | 57 | W | ||
101 1000 | 130 | 88 | 58 | x | ||
101 1001 | 131 | 89 | 59 | Y | ||
101 1010 | 132 | 90 | 5A | Z | ||
101 1011 | 133 | 91 | 5B | [ | ||
101 1100 | 134 | 92 | 5C | \ | ~ | \ |
101 1101 | 135 | 93 | 5D | ] | ||
101 1110 | 136 | 94 | 5E | ↑ | ^ | |
101 1111 | 137 | 95 | 5F | ← | _ | |
110 0000 | 140 | 96 | 60 | @ | ` | |
110 0001 | 141 | 97 | 61 | a | ||
110 0010 | 142 | 98 | 62 | B | ||
110 0011 | 143 | 99 | 63 | C | ||
110 0100 | 144 | 100 | 64 | NS | ||
110 0101 | 145 | 101 | 65 | e | ||
110 0110 | 146 | 102 | 66 | F | ||
110 0111 | 147 | 103 | 67 | G | ||
110 1000 | 150 | 104 | 68 | H | ||
110 1001 | 151 | 105 | 69 | ben | ||
110 1010 | 152 | 106 | 6A | J | ||
110 1011 | 153 | 107 | 6B | k | ||
110 1100 | 154 | 108 | 6C | ben | ||
110 1101 | 155 | 109 | 6D | m | ||
110 1110 | 156 | 110 | 6E | n | ||
110 1111 | 157 | 111 | 6F | Ö | ||
111 0000 | 160 | 112 | 70 | P | ||
111 0001 | 161 | 113 | 71 | Q | ||
111 0010 | 162 | 114 | 72 | r | ||
111 0011 | 163 | 115 | 73 | s | ||
111 0100 | 164 | 116 | 74 | T | ||
111 0101 | 165 | 117 | 75 | sen | ||
111 0110 | 166 | 118 | 76 | v | ||
111 0111 | 167 | 119 | 77 | w | ||
111 1000 | 170 | 120 | 78 | x | ||
111 1001 | 171 | 121 | 79 | y | ||
111 1010 | 172 | 122 | 7A | z | ||
111 1011 | 173 | 123 | 7B | { | ||
111 1100 | 174 | 124 | 7C | ACK | ¬ | | |
111 1101 | 175 | 125 | 7D | } | ||
111 1110 | 176 | 126 | 7E | ESC | | | ~ |
Karakter seti
Önceki versiyonlarda (1963 versiyonu veya 1965 taslağı) farklı bir karakteri temsil eden noktalar kutulu olarak gösterilmiştir. 1963 versiyonundan bu yana atanan ancak başka şekilde değişmeyen noktalar, gösterge renklerine göre hafif gölgeli olarak gösterilir.
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _NS | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
SIFIR 0000 |
SOH 0001 |
STX 0002 |
ETX 0003 |
EOT 0004 |
ENQ 0005 |
ACK 0006 |
BEL 0007 |
BS 0008 |
HT 0009 |
LF 000A |
VT 000B |
FF 000C |
CR 000D |
SO 000E |
SI 000F |
1_ 16 |
DLE 0010 |
DC1 0011 |
DC2 0012 |
DC3 0013 |
DC4 0014 |
NAK 0015 |
SYN 0016 |
ETB 0017 |
CAN 0018 |
EM 0019 |
ALT 001A |
ESC 001B |
FS 001C |
GS 001D |
RS 001E |
ABD 001F |
2_ 32 |
SP 0020 |
! 0021 |
" 0022 |
# 0023 |
0024 $ |
% 0025 |
& 0026 |
' 0027 |
( 0028 |
) 0029 |
* 002A |
+ 002B |
, 002C |
- 002D |
. 002E |
/ 002F |
3_ 48 |
0 0030 |
1 0031 |
2 0032 |
3 0033 |
4 0034 |
5 0035 |
6 0036 |
7 0037 |
8 0038 |
9 0039 |
: 003A |
; 003B |
< 003C |
= 003D |
> 003E |
? 003F |
4_ 64 |
@ 0040 |
bir 0041 |
B 0042 |
C 0043 |
D 0044 |
E 0045 |
F 0046 |
G 0047 |
H 0048 |
ben 0049 |
J 004A |
K 004B |
L 004C |
M 004D |
N 004E |
O 004F |
5_ 80 |
P 0050 |
Q, 0051 |
R, 0052 |
S 0053 |
T 0054 |
U 0055 |
V 0056 |
B 0057 |
X 0058 |
Y 0059 |
Z 005A |
[ 005B |
\ 005C |
] 005D |
^ 005E |
_ 005F |
6_ 96 |
` 0060 |
bir 0061 |
b 0062 |
c 0063 |
d 0064 |
e 0065 |
f 0066 |
g 0067 |
saat 0068 |
ben 0069 |
j 006A |
k 006B |
l 006C |
m 006D |
n 006E |
o 006F |
7_ 112 |
p 0070 |
q 0071 |
r 0072 |
s 0073 |
t 0074 |
u 0075 |
v 0076 |
ağırlık 0077 |
x 0078 |
y 0079 |
z 007A |
{ 007B |
| 007C |
} 007D |
~ 007E |
DEL 007F |
Mektup Sayı Noktalama Sembol Başka Tanımsız 1963 versiyonundan veya 1965 taslağından karakter değişti
Kullanmak
ASCII ticari olarak ilk olarak 1963 yılında American Telephone & Telegraph'ın TWX (TeletypeWriter eXchange) ağı için yedi bitlik bir teleprinter kodu olarak kullanıldı . TWX aslen önceki beş bitlik kullanılan ITA2 da rakip tarafından kullanılan, Teleks teleprinter sistemine. Bob Bemer , kaçış dizisi gibi özellikleri tanıttı . İngiliz meslektaşı Hugh McGregor Ross , bu çalışmanın popülerleşmesine yardımcı oldu - Bemer'e göre, "o kadar ki, ASCII olacak olan koda ilk olarak Avrupa'da Bemer-Ross Kodu deniyordu ". ASCII üzerindeki kapsamlı çalışmaları nedeniyle Bemer, "ASCII'nin babası" olarak anılmıştır.
11 Mart 1968'de ABD Başkanı Lyndon B. Johnson , Amerika Birleşik Devletleri Federal Hükümeti tarafından satın alınan tüm bilgisayarların ASCII'yi desteklemesini zorunlu kıldı :
Ayrıca Ticaret Bakanı'nın [ Luther H. Hodges ] Bilgi Değişimi için Standart Kodun bilgisayar işlemlerinde kullanıldığında manyetik bantlar ve kağıt bantlar üzerine kaydedilmesine ilişkin standartlarla ilgili tavsiyelerini de onayladım . 1 Temmuz 1969 tarihinde ve sonrasında Federal Hükümet envanterine eklenen tüm bilgisayarlar ve ilgili ekipman konfigürasyonları, Bilgi Değişimi için Standart Kodu ve bu ortamlar kullanıldığında manyetik bant ve kağıt bant standartlarında belirtilen formatları kullanma yeteneğine sahip olmalıdır.
ASCII, UTF-8 kodlamasının onu geçtiği Aralık 2007'ye kadar World Wide Web'de en yaygın karakter kodlamasıydı ; UTF-8, ASCII ile geriye dönük uyumludur.
Varyantlar ve türevler
Bilgisayar teknolojisi dünyaya yayıldıkça, farklı standart kuruluşları ve şirketler, Roman tabanlı alfabe kullanan İngilizce olmayan dillerin ifadesini kolaylaştırmak için birçok ASCII varyasyonu geliştirdi. Bu varyasyonlardan bazıları " ASCII uzantıları " olarak sınıflandırılabilir, ancak bazıları bu terimi ASCII'nin karakter haritasını 7 bit aralığında korumayanlar da dahil olmak üzere tüm varyantları temsil etmek için yanlış kullanır. Ayrıca, ASCII uzantıları da ASCII olarak yanlış etiketlenmiştir.
7 bit kodlar
ASCII, gelişiminin başlarından itibaren, uluslararası bir karakter kodu standardının çeşitli ulusal türevlerinden sadece biri olarak düşünülmüştü.
Diğer uluslararası standart kuruluşları, ASCII ile aynı veya neredeyse aynı olan ISO 646 (1967) gibi , İngiliz alfabesi dışındaki karakterler için uzantılar ve Birleşik Krallık sterlini sembolü gibi Amerika Birleşik Devletleri dışında kullanılan semboller gibi karakter kodlamalarını onayladı. (£). ASCII yalnızca ABD'nin ve diğer birkaç ülkenin ihtiyaçlarını karşıladığından, hemen hemen her ülkenin uyarlanmış bir ASCII sürümüne ihtiyacı vardı. Örneğin, Kanada'nın Fransızca karakterleri destekleyen kendi sürümü vardı.
Diğer birçok ülke, İngilizce olmayan harfleri (örneğin é , ñ , ß , Ł ), para birimi sembollerini (örneğin £ , ¥ ) vb. içerecek şekilde ASCII'nin türevlerini geliştirdi . Ayrıca bkz . YUSCII (Yugoslavya).
Çoğu karakteri ortak olarak paylaşır, ancak diğer yerel olarak yararlı karakterleri "ulusal kullanım" için ayrılmış birkaç kod noktasına atar . Bununla birlikte, ASCII-1963'ün yayınlanması ile 1967'de ISO'nun uluslararası bir tavsiyeyi ilk kabulü arasında geçen dört yıl, ASCII'nin ulusal kullanım karakterleri konusundaki seçimlerinin dünya için fiili standartlar gibi görünmesine neden oldu ve diğer ülkeler arasında kafa karışıklığına ve uyumsuzluğa neden oldu. bu kod noktalarına kendi atamalarını yapmaya başladılar.
ASCII gibi ISO/IEC 646 da 7 bitlik bir karakter kümesidir. Herhangi bir ek kodu kullanıma sunmaz, bu nedenle aynı kod noktaları farklı ülkelerde farklı karakterleri kodlar. Kaçış kodları, bir metin parçasına hangi ulusal varyantın uygulandığını belirtmek için tanımlandı, ancak nadiren kullanıldılar, bu nedenle hangi varyantla çalışılacağını ve dolayısıyla bir kodun hangi karakteri temsil ettiğini ve genel olarak metni temsil ettiğini bilmek genellikle imkansızdı. işleme sistemleri zaten sadece bir varyantla başa çıkabilirdi.
ASCII'nin parantez ve ayraç karakterleri, ISO/IEC 646'nın diğer ulusal türevlerinde aksanlı harfler için kullanılan "ulusal kullanım" kod noktalarına atandığından, bir Alman, Fransız veya İsveç vb. programcı, kendi ulusal ISO varyantını kullanır. /IEC 646, ASCII yerine şunun gibi bir şey yazmalı ve bu nedenle okumalıydı:
ä aÄiÜ = 'Ön'; ü
onun yerine
{ a[i] = '\n'; }
ANSI C için bu sorunu çözmek için C trigrafları oluşturuldu , ancak derleyicilerdeki geç girişleri ve tutarsız uygulamaları kullanımlarını sınırladı. Birçok programcı bilgisayarlarını US-ASCII'de tuttu, bu nedenle İsveççe, Almanca vb. düz metinler (örneğin, e-posta veya Usenet'te ) kelimelerin ortasında "{, }" ve benzer varyantları içeriyordu, bu programcıların sahip olduğu bir şeydi. eskiden. Örneğin, başka bir programcıya öğle yemeğine gitmeleri gerekip gerekmediğini soran bir İsveçli programcı, yanıt olarak "N{ jag har sm|rg}sar" alabilir, bu da "Nä jag har smörgåsar", yani "Hayır, elimde var" anlamına gelir. sandviçler".
Japonya ve Kore'de, 2020'lerden itibaren, ters eğik çizginin (5C hex) ¥ ( Japonya'da bir Yen işareti ) veya ₩ ( Kore'de bir Won işareti ) olarak işlendiği bir ASCII varyasyonu kullanılır . Bu, örneğin C:\Users\Smith dosya yolunun C:¥Users¥Smith (Japonya'da) veya C:₩Users₩Smith (Kore'de) olarak gösterildiği anlamına gelir.
8 bit kodlar
Sonunda, 8-, 16- ve 32-bit (ve daha sonra 64-bit ) bilgisayarlar norm olarak 12- , 18- ve 36-bit bilgisayarların yerini almaya başladıkça , her birini depolamak için 8-bit bir bayt kullanmak yaygınlaştı. ASCII'nin genişletilmiş, 8 bitlik akrabaları için bir fırsat sağlar. Çoğu durumda bunlar ASCII'nin gerçek uzantıları olarak geliştirilmiş, orijinal karakter eşlemesine dokunulmamış, ancak ilk 128 (yani 7 bit) karakterden sonra ek karakter tanımları eklenmiştir.
Kodlamalar ISCII (Hindistan), VISCII (Vietnam) içerir. Bu kodlamalara bazen ASCII olarak atıfta bulunulmasına rağmen, gerçek ASCII, yalnızca ANSI standardı tarafından kesin olarak tanımlanır.
Çoğu eski ev bilgisayar sistemi, çizgi çizme ve oyun glifleri içeren kendi 8 bitlik karakter setlerini geliştirdi ve genellikle 0'dan 31'e kadar olan kontrol karakterlerinin bir kısmını veya tamamını daha fazla grafikle doldurdu. Kaypro CP/M bilgisayarları, Yunan alfabesi için "üst" 128 karakteri kullandı.
PETSCII kodu Commodore Uluslararası onların için kullanılan 8 bitlik sistemlerde yerine daha yaygın ASCII-1967, bulunan gibi bir ASCII-1963 dayalı olması sonrası 1970 kodları arasında muhtemelen benzersizdir ZX Spectrum bilgisayara. Atari 8 bit bilgisayarlar ve Galaksija bilgisayarları da ASCII türevlerini kullandı.
Kontrol karakterlerini gülen yüzler gibi grafik sembollerle değiştiren ve ek grafik karakterlerini üst 128 konumlarına eşleyen IBM PC tanımlı kod sayfası 437 . DOS gibi işletim sistemleri bu kod sayfalarını destekledi ve IBM PC'lerin üreticileri bunları donanım olarak destekledi. Digital Equipment Corporation , popüler VT220 terminalinde kullanım için Çokuluslu Karakter Setini (DEC-MCS) blok grafiklerden çok uluslararası diller için tasarlanmış ilk uzantılardan biri olarak geliştirdi. Macintosh, Mac OS Roman'ı tanımladı ve Postscript de bir küme tanımladı; bunların her ikisi de, daha çok modern karakter kümeleri gibi, grafikler yerine hem uluslararası harfler hem de tipografik noktalama işaretleri içeriyordu.
ISO / IEC 8859 (DEC-MCS türetilmiş) standart son olarak (ancak birçok değişikliği ile, doğru olarak ASCII kopyalanan olarak en az) bir çok sistem kopyalanan bir standart olarak sağlanır. Microsoft tarafından tasarlanan bir başka popüler uzantı olan Windows-1252 (genellikle ISO-8859-1 olarak yanlış etiketlenir ), geleneksel metin yazdırma için gereken tipografik noktalama işaretlerini ekledi. ISO-8859-1, Windows-1252 ve orijinal 7-bit ASCII, UTF-8'in daha yaygın hale geldiği 2008 yılına kadar en yaygın karakter kodlamalarıydı .
ISO/IEC 4873 , 7 bitlik ASCII kodlamasını 8 bitlik bir sistem haline getirmenin bir parçası olarak 80–9F onaltılık aralıkta tanımlanan 32 ek kontrol kodunu tanıttı .
tek kod
Unicode ve ISO/IEC 10646 Evrensel Karakter Seti (UCS) çok daha geniş bir karakter dizisine sahiptir ve çeşitli kodlama biçimleri birçok ortamda hızla ISO/IEC 8859 ve ASCII'nin yerini almaya başlamıştır. ASCII 128 karakterle sınırlıyken, Unicode ve UCS, benzersiz tanımlama ( kod noktaları adı verilen doğal sayıları kullanarak ) ve kodlama ( UTF-8 adı verilen 8-, 16- veya 32-bit ikili biçimlere) kavramlarını ayırarak daha fazla karakteri destekler. , UTF-16 ve UTF-32 ).
ASCII, ilk 128 sembol olarak Unicode (1991) karakter kümesine dahil edilmiştir, bu nedenle 7 bitlik ASCII karakterleri her iki kümede de aynı sayısal kodlara sahiptir. Bu, UTF-8'in 7-bit ASCII ile geriye dönük uyumlu olmasını sağlar , çünkü yalnızca ASCII karakterleri içeren bir UTF-8 dosyası, aynı karakter dizisini içeren bir ASCII dosyasıyla aynıdır. Daha da önemlisi, yalnızca 7-bit ASCII karakterlerini özel olarak tanıyan ve en yüksek bit seti ile baytları değiştirmeyen bir yazılım olarak ileriye dönük uyumluluk sağlanır (genellikle ISO-8859-1 gibi 8-bit ASCII uzantılarını desteklemek için yapıldığı gibi) UTF-8 verilerini değişmeden koruyacaktır.
Ayrıca bakınız
- 3568 ASCII , adını karakter kodlamasından alan bir asteroit
- Alt kodlar
- Asci 85
- ASCII sanatı
- ASCII Şerit Kampanyası
- Temel Latince (Unicode bloğu) (Unicode'un bir alt kümesi olarak ASCII)
- Genişletilmiş ASCII
- HTML ondalık karakter oluşturma
- Jargon Dosyası , ASCII karakterleri için yaygın argo adlarının bir listesini içeren bir bilgisayar programcısı argo sözlüğü
- bilgisayar karakter kümelerinin listesi
- Unicode karakterlerin listesi
Notlar
Referanslar
daha fazla okuma
- Bemer, Robert William (1960). "Karakter Kodu Uyumluluğu İçin Bir Öneri". ACM'nin İletişimi . 3 (2): 71–72. doi : 10.1145/366959.366961 . S2CID 9591147 .
-
Bemer, Robert William (2003-05-23). "ASCII'den Önce Kodların Babil'i: Kodlu Karakter Kümelerinin 1960 Araştırması: ASCII'nin Nedenleri" . Arşivlenmiş orijinal 2013-10-17 tarihinde . Alınan 2016-05-09 , itibaren:
- Bemer, Robert William (Aralık 1960). "Kodlanmış karakter gösteriminin incelenmesi". ACM'nin İletişimi . 3 (12): 639-641. doi : 10.1145/367487.367493 . S2CID 21403172 .
- Smith, HJ; Williams, FA (Aralık 1960). "Delikli kart kodlarının incelenmesi" . ACM'nin İletişimi . 3 (12): 642. doi : 10.1145/367487.367491 .
- Bilgi Değişimi için Amerikan Ulusal Standart Kodu . Amerikan Ulusal Standartlar Enstitüsü . 1977.
- Robinson, GS; Cargill, C. (1996). "Bilgisayar standartlarının tarihi ve etkisi". bilgisayar . 29 (10): 79-85. doi : 10.1109/2.539725 .
- Mullendore, Ralph Elvin (1964) [1963]. Ptak, John F. (ed.). "ASCII'nin Erken Gelişimi Üzerine - ASCII'nin Tarihi" . JF Ptak Bilim Kitapları (Mart 2012'de yayınlandı). 2016-05-26 tarihinde kaynağından arşivlendi . 2016-05-26 alındı .
Dış bağlantılar
- "C0 Kontrolleri ve Temel Latince – Aralık: 0000–007F" (PDF) . Unicode Standardı 8.0 . Unicode, Inc. 2015 [1991]. 2016-05-26 tarihinde orijinalinden arşivlendi (PDF) . 2016-05-26 alındı .
-
Fischer, Eric. "Karakter Kodlarının Evrimi, 1874-1968". CiteSeerX 10.1.1.96.678 . Alıntı günlüğü gerektirir
|journal=
( yardım ) [1]