ASCII

מרווח, שהסימן הגרפי שלו הוא מקום ריק. בפינה הימנית התחתונה יש מקום לתו שאין לו סימן גרפי מקובל. מקום זה מופיע בתמונה רק כדי לאפשר הצגה תמציתית של התווים האחרים.]]
ASCII (ראשי תיבות של: American Standard Code for Information Interchange) הוא קוד לייצוגם של תווים (ספרות, אותיות האלפבית, סימני פיסוק ועוד) בזיכרון מחשב ובקובצי מחשב.
== מבנה ==
קוד ASCII משמש להצגת אותיות האלפבית הלטיני הפשוט, ללא סימנים דיאקריטיים, המכונים לעיתים אקצנטים. הקוד הוא קידוד תווים של 7 סיביות המכיל 128 תווים (2 בחזקת 7, מספר כל הצירופים הבינאריים של 7 סיביות), בהם 33 תווי בקרה (ירידת שורה, למשל), 52 אותיות הכתב הלטיני (בעיקרון 26 אותיות, כאשר לכל אחת ישנן שתי צורות), 33 סימנים נוספים (כגון סימני פיסוק וסימן הרווח), ו-10 ספרות.

הקוד אינו כולל אותיות בשום אלפבית אחר. בעבר הותאם הקוד לעברית ("קוד ישן") – 27 תווים (כולל אותיות סופיות) תפסו את מקום האותיות הלטיניות הקטנות. גם שפות אחרות הותאמו אליו, למשל עבור גרמנית ויתרו על כמה תווים לטובת יצירת אותיות לטיניות עם סימנים.

כיום תקני ISO מרחיבים תקן זה (בצורתו הבסיסית האמריקאית – לא בצורתו הגרמנית או העברית, למשל), ו־Latin-1, התקן הבסיסי לאנגלית, כולל אותיות לטיניות עם סימנים דיאקריטיים. ISO-8859-8 הוא התקן לעברית המשמש ברוב מערכות המחשב הקיימות.

במרץ 1968 הורה הנשיא לינדון ג'ונסון לסוכנויות פדרליות של ארצות הברית לרכוש אך ורק מחשבים התומכים בקוד ASCII. למשך תקופה מסוימת עוד הייתה ל־ASCII תחרות מצד קוד EBCDIC שפיתחה חברת IBM, אולם עם הזמן ASCII זכתה לעדיפות והייתה לתקן בין-לאומי.

כיום, השימוש ב־ASCII טהור יורד בגלל המעבר ליוניקוד, הכולל אוסף רחב בהרבה של סימנים, ומאפשר ייצוג שפות אחדות במקביל. על אף שישנן תכנות שאינן מתפקדות באופן אופטימלי עם תו שתופס 2 בתים, קיימים תקנים כגון UTF-8 המאפשרים לתווי ה־ASCII לעבור ללא שינוי.

== טבלת ASCII ==
קוד ה-ASCII מוצג לעיתים כטבלה המתאימה בין התו לבין המספר שמיצג אותו ולכן מקובל להתייחס להתאמה בשם: "טבלת ASCII".
בטבלת ה-ASCII שלמטה, מופיעים התווים כאשר הערך הבינארי של כל תו מושג על ידי העמודה השמאלית ביותר שמייצגת את שלוש הספרות הבינאריות השמאליות של המספר, ועל ידי השורה העליונה שמייצגת את ארבע הספרות הימניות של המספר. למשל, הייצוג הבינארי של התו "B" הוא "1000010". צבע הרקע מייצג תו בקרה, צבע הרקע מיצג תווים הניתנים להדפסה.
{| dir="ltr" style="margin:auto; text-align: center" class="wikitable" 
! 
! _0000
! _0001
! _0010
! _0011
! _0100
! _0101
! _0110
! _0111
! _1000
! _1001
! _1010
! _1011
! _1100
! _1101
! _1110
! _1111
|-bgcolor="#aaeeee"
! 000_
| NUL

| SOH

| STX

| ETX

| EOT

| ENQ

| ACK

| BEL

| BS

| HT

| LF

| VT

| FF

| CR

| CO

| SI

|-bgcolor="#aaeeee"
! 001_
| DLE

| DC1

| DC2

| DC3

| DC4

| NAK

| SYN

| ETB

| CAN

| EM

| SUB

| ESC

| FS

| GS

| RS

| US

|-bgcolor="#eeee99"
! 010_ 
| SP

| !

| "

| #

| $

| %

| &

| '

| (

| )

| *

| +

| ,

| -

| .

| /

|-bgcolor="#eeee99"
! 011_
| 0

| 1

| 2

| 3

| 4

| 5

| 6

| 7

| 8

| 9

| :

| ;

| <

| =

| >

| ?

|-bgcolor="#eeee99"
! 100_
| @

| A

| B

| C

| D

| E

| F

| G

| H

| I

| J

| K

| L

| M

| N

| O

|-bgcolor="#eeee99"
! 101_
| P

| Q

| R

| S

| T

| U

| V

| W

| X

| Y

| Z

| &#91;

| \

| &#93;

| ^

| _

|-bgcolor="#eeee99"
! 110_
| `

| a

| b

| c

| d

| e

| f

| g

| h

| i

| j

| k

| l

| m

| n

| o

|-bgcolor="#eeee99"
! 111
| p

| q

| r

| s

| t

| u

| v

| w

| x

| y

| z

| &#123;

| &#124;

| &#125;

| ~

| bgcolor="#aaeeee" |DEL

|}

{| class="toccolours mw-collapsible mw-collapsed" align="center"
! הערות שוליים לטבלת ASCII
|-
| 

|}

==עברית==
בקוד ASCII הוגדרו רק אותיות אנגליות, גדולות וקטנות. כדי להתאימו לעברית הוחלפו האותיות האנגליות הקטנות באותיות עבריות (בטווח 0x61 עד 0x7A), כך ש-a הוחלפה ל-ב', b הוחלפה ל-ג', וכך הלאה עד z שהוחלפה ל-ת'. כיוון שבאלפבית העברי יש אות אחת יותר מאשר באלפבית האנגלי, קיבלה האות א' את הערך שלפני a, כלומר 0x60. התאמה זו כונתה בהמשך "קוד ישן".

בקוד ASCII מורחב, בן 8 ביטים, בתקן ISO 8859-8 קיבל האלפבית העברי את הטווח 0xE0 עד 0xFA. 

בתקן Code page 862 הנמצא בשימוש על ידי מערכת ההפעלה MS-DOS, שאף הוא בן 8 ביטים, קיבל האלפבית העברי את הטווח 0x80 עד 0x9A. בחלונות 3.x וחלונות 9x יש שימוש בקוד Windows-1255 במקום תקן 862, אם כי מערכת ההפעלה מקבלת את תקן 862 כאשר מופעלים יישומי DOS.

== ראו גם ==
* אמנות ASCII
* Codepage 437

== קישורים חיצוניים ==

* [http://www.asciitable.com/ טבלת ASCII]
* 

==הערות שוליים==

קטגוריה:קידוד תווים
קטגוריה:תקנים בתקשורת מחשבים