Yazan : Şadi Evren ŞEKER
Bilgisayar bilimlerinde kullanılan ve her sembolü sayısal olarak ifade etmeye yarayan tablolardan birisidir. Aslında günümüzde en çok kullanılanıdır. ASCII harfleri American Standard Code for Information Interchange kelimelerinin baş harflerinden oluşmaktadır. Kelime olarak 1973 yılında, bu alandaki ihtiyacı doldurmak amacıyla ANSI tarafından (American National Standards Institute , Amerikan ulusal standartlar enstitüsü) tarafından ilk kez kullanılmıştır.
Basitçe bilgisayarın işlediği sinyalleri (ki bu sinyalleri 1 ve 0 olarak göstermek mümkündür), insanların anlayabileceği sembollere çevirmek için kullanılır. Bu tablonun ilk 7 bit (ikil) oluşan kısmı aşağıda verilmiştir.
Tablo aslında 8 bit (ikil) için kullanılabilir ve bu durumda 256 karakter içerir ancak son bitin (ikil) kullanımı sonucunda çıkan tablo dillere göre değişmektedir. Bu son bitin eklenmiş haline uzatılmış ASCII (extended ascii ) ismi de verilmektedir.
Dec | Hex | Char | Dec | Hex | Char | Dec | Hex | Char | Dec | Hex | Char |
128 | 80 | 160 | A0 | 192 | C0 | 224 | E0 | ||||
129 | 81 | 161 | A1 | 193 | C1 | 225 | E1 | ||||
130 | 82 | 162 | A2 | 194 | C2 | 226 | E2 | ||||
131 | 83 | 163 | A3 | 195 | C3 | 227 | E3 | ||||
132 | 84 | 164 | A4 | 196 | C4 | 228 | E4 | ||||
133 | 85 | 165 | A5 | 197 | C5 | 229 | E5 | ||||
134 | 86 | 166 | A6 | 198 | C6 | 230 | E6 | ||||
135 | 87 | 167 | A7 | 199 | C7 | 231 | E7 | ||||
136 | 88 | 168 | A8 | 200 | C8 | 232 | E8 | ||||
137 | 89 | 169 | A9 | 201 | C9 | 233 | E9 | ||||
138 | 8A | 170 | AA | 202 | CA | 234 | EA | ||||
139 | 8B | 171 | AB | 203 | CB | 235 | EB | ||||
140 | 8C | 172 | AC | 204 | CC | 236 | EC | ||||
141 | 8D | 173 | AD | 205 | CD | 237 | ED | ||||
142 | 8E | 174 | AE | 206 | CE | 238 | EE | ||||
143 | 8F | 175 | AF | 207 | CF | 239 | EF | ||||
144 | 90 | 176 | B0 | 208 | D0 | 240 | F0 | ||||
145 | 91 | 177 | B1 | 209 | D1 | 241 | F1 | ||||
146 | 92 | 178 | B2 | 210 | D2 | 242 | F2 | ||||
147 | 93 | 179 | B3 | 211 | D3 | 243 | F3 | ||||
148 | 94 | 180 | B4 | 212 | D4 | 244 | F4 | ||||
149 | 95 | 181 | B5 | 213 | D5 | 245 | F5 | ||||
150 | 96 | 182 | B6 | 214 | D6 | 246 | F6 | ||||
151 | 97 | 183 | B7 | 215 | D7 | 247 | F7 | ||||
152 | 98 | 184 | B8 | 216 | D8 | 248 | F8 | ||||
153 | 99 | 185 | B9 | 217 | D9 | 249 | F9 | ||||
154 | 9A | 186 | BA | 218 | DA | 250 | FA | ||||
155 | 9B | 187 | BB | 219 | DB | 251 | FB | ||||
156 | 9C | 188 | BC | 220 | DC | 252 | FC | ||||
157 | 9D | 189 | BD | 221 | DD | 253 | FD | ||||
158 | 9E | 190 | BE | 222 | DE | 254 | FE | ||||
159 | 9F | 191 | BF | 223 | DF | 255 | FF |
Yukarıdaki taloda 128 ile 255 arasındaki uzatılmış ascii tablosunun karakter karşılıkları görülmektedir. Dikkat edileceği üzere Türkçe karakterler de bu tabloda bulunmaktadır.
Bu yazı şadi evren şeker tarafından yazılmış ve bilgisayarkavramlari.com sitesinde yayınlanmıştır. Bu içeriğin kopyalanması veya farklı bir sitede yayınlanması hırsızlıktır ve telif hakları yasası gereği suçtur.
Yukarıdaki tabloda bulunan sembollerin ikilik tabana çevrilmesi mümkündür. Yukarıdaki sayılar 10’luk tabanda olduğu için, örneğin “ş” harfini iklik tabana çevirmek istediğimizde 159 sayısını iklik tabana çevirmemiz yeterlidir.
(159)10 = (100011111)2
şeklinde yazılabilir.
Örneğin aşağıdaki C kodunu ele alalım:
#include <stdio.h>
int main(){
printf("%c",159);
}
Yukarıdaki kod çalıştırıldığında ascii tablosunda 159 değerine sahip olan ş harfi ekrana basılacaktır.
Benzer şekilde aşağıdaki C kodu işlemi tersinden yapacaktır:
#include <stdio.h>
int main(){
printf("%d",'a');
}
Yukarıdaki kodda a karakterinin sayısal değeri (%d ile basılan değeri) kullanılmıştır. Bu durumda ekranda sayısal olarak 97 görülecektir.
Hocam merhabalar, Uzerinde Calıştığım bir mini bir zeka okuyunu yazıyorum,fakat yön tuşlarını kullanmam kodun efekti açısından daha güzel olucak,ASCII tablosunda yön tuşlarının yokluğuyla ilgili bir bilgiye rastlamadım,fakat eminde olamadım.Sozun ozunde sormak istediğim C dilinde karakter ilerlemesi icin yon tuslarını kullanabilirmiyim ?Sanırsam ozel fonksiyon gerekmekte? işin aslı sizce nedir,bilgilendirme yaparmısınız hocam?
Yön tuşları özel tuşlardır ve ascii karşılığı yoktur. Kullanılan programlama ortamına göre özel değişkenlerde bu bilgilere erişilebilir. Örneğin openGL için aşağıdaki şekilde (nerede kodladığınızdan bahsetmemişsiniz ben de OpenGL’dir kabulü yaptım )
GLUT_KEY_UP
Up directional key.
GLUT_KEY_RIGHT
Right directional key.
GLUT_KEY_DOWN
Down directional key.
GLUT_KEY_PAGE_UP
Page up directional key.
Benzer şekilde F (F1-F12 arası, page up, page down, home, end, insert v.b.) tuşları özel tuşlardır ve ASCII karşılıkları yoktur.
Başarılar
Hocam merhabalar, Kocaeli üniversitesinde okuyorum bilgisayar mühendisliği bölümünde. Yapmam gereken proje var. C ile basit bir wordpad yapacağız fakat yön tuşlarıyla imleci hareket ettirmek gerek klavyeyle ve kopyala yapıştır silme gibi fonksiyonları da gerçekleştirmem gerek. Fakat bu tuşları nasıl kullanacağımı bir türlü bulamadım ve ilerleyemiyorum bu yüzden. Bir kaç tane fonksiyon buldum fakat bir türlü bağlı liste ile bağdaştıramadım. Eğer bir yol gösterirseniz çok sevinirim hocam.
Şimdiden teşekkürler
Hocam iyi akşamlar. Bizden c kodları ile metin editörü yapmamız istendi. Bu editör de silme kaydetme , yazı yazabilme,yeni sayfa açabilme ve yön tuşlarını kullanarak metnin herhangi bir yönüne gidebilme özelliği istenmekte. Bunları konsoldan çok rahat yapabileceğimiz şöylendi. 2 haftadır pek bi kaynak bulamadık . şuan silme ve yazma işlemlerini yapabiliyorum . ama yön tuşlarını haraket ettiremiyorum. Bu yön tuşlarının ascii kodlarını ve kullanımını söylebilirmisiniz. ve ya c de ncurses veya conio.h kütüphanesini nasıl ekleyebiliriz. Teşekkürler