ASCII [’askɪ], eller American Standard Code for Information Interchange, är en teckenkodning som används för att representera bokstäver och andra tecken i datorer. Koden använder sju bitar vilket ger plats för 128 olika tecken. ASCII har samma tecken som referensversionen av ISO/IEC 646 plus 7-bitars styrkoderna i ISO/IEC 6429. ASCII designades för USA:s behov och räcker inte för något annat språk än engelska, eftersom några andra bokstäver än A-Z och a-z inte ingår. ASCII-standarden publicerades första gången 1963.
Med ASCII som grund har olika utvidgningar till 8 bitar gjorts, ofta kallade utökad ASCII. Till exempel ISO/IEC 8859-serien av teckenkodningar. De äldre kodningarna i Windows (CP1250, CP1252, CP932, m.fl) och Mac OS (MacRoman, MacJapanese, m.fl) är även de utvidgningar av ASCII. Dessa utvidgningar har ersatt ASCII i användning (eftersom 8 bitar är tillgängligt överallt numera), men de följer ASCII för de tecken som ingår i ASCII.
Internet startades med ASCII och 7 bitars överföring som grund, därför skapades nationella 7-bitsvarianter av ASCII i nästan alla länder, även i Storbritannien som behövde pundtecket £, och i Canada som ville stödja franska. Först ett gott stycke in på 1990-talet fungerade 8 bitars överföring av till exempel e-mail överallt på internet.
ASCII-utvidgningarna med 8 bitar, håller på att ersättas med Unicode, en teckenkodning som använder fler än 8 bitar, och som stöder alla språk. För att lagra Unicode i filer använder man oftast antingen UTF-8 som fungerar som en utökad ASCII (2-4 bytes för icke-ASCII-tecken), eller UTF-16 där tecknen lagras i 2-byte-sekvenser. (http://sv.wikipedia.org/wiki/ASCII)
ASCII-tabell
32 64 @ 96 ` 128 Ç 160 á 192 + 224 Ó
33 ! 65 A 97 a 129 ü 161 í 193 - 225 ß
34 " 66 B 98 b 130 é 162 ó 194 - 226 Ô
35 # 67 C 99 c 131 â 163 ú 195 + 227 Ò
36 $ 68 D 100 d 132 ä 164 ñ 196 - 228 õ
37 % 69 E 101 e 133 à 165 Ñ 197 + 229 Õ
38 & 70 F 102 f 134 å 166 ª 198 ã 230 µ
39 ' 71 G 103 g 135 ç 167 º 199 Ã 231 þ
40 ( 72 H 104 h 136 ê 168 ¿ 200 + 232 Þ
41 ) 73 I 105 i 137 ë 169 ® 201 + 233 Ú
42 * 74 J 106 j 138 è 170 ¬ 202 - 234 Û
43 + 75 K 107 k 139 ï 171 ½ 203 - 235 Ù
44 , 76 L 108 l 140 î 172 ¼ 204 ¦ 236 ý
45 - 77 M 109 m 141 ì 173 ¡ 205 - 237 Ý
46 . 78 N 110 n 142 Ä 174 « 206 + 238 ¯
47 / 79 O 111 o 143 Å 175 » 207 ¤ 239 ´
48 0 80 P 112 p 144 É 176 ¦ 208 ð 240 -
49 1 81 Q 113 q 145 æ 177 ¦ 209 Ð 241 ±
50 2 82 R 114 r 146 Æ 178 ¦ 210 Ê 242 =
51 3 83 S 115 s 147 ô 179 ¦ 211 Ë 243 ¾
52 4 84 T 116 t 148 ö 180 ¦ 212 È 244 ¶
53 5 85 U 117 u 149 ò 181 Á 213 i 245 §
54 6 86 V 118 v 150 û 182 Â 214 Í 246 ÷
55 7 87 W 119 w 151 ù 183 À 215 Î 247 ¸
56 8 88 X 120 x 152 ÿ 184 © 216 Ï 248 °
57 9 89 Y 121 y 153 Ö 185 ¦ 217 + 249 ¨
58 : 90 Z 122 z 154 Ü 186 ¦ 218 + 250 ·
59 ; 91 [ 123 { 155 ø 187 + 219 ¦ 251 ¹
60 < 92 \ 124 | 156 £ 188 + 220 _ 252 ³
61 = 93 ] 125 } 157 Ø 189 ¢ 221 ¦ 253 ²
62 > 94 ^ 126 ~ 158 × 190 ¥ 222 Ì 254 ¦
63 ? 95 _ 127 159 ƒ 191 + 223 ¯ 255


Dessa programspråk är mycket hårdvarunära språk och används till exempel för att kontrollera komponenter på och kopplade till moderkortet. De är också därför ofta knutna till den hårdvara dom är skrivna för och har därför ofta egna versioner på språket. Detta göra att assembly därmed inte är portabelt utan måste specialskrivas för varje objekt det ämnas.