mIRC Scripting
mIRC: Scripting Language
ASCII stands for American Standard Code for Information Interchange. ASCII is a character encoding based on the English alphabet. ASCII codes represent text.
Base
The $base identifier can be used to convert a number from one base to another.
| Numeral System | Base |
|---|---|
| Binary | 2 |
| Quaternary | 4 |
| Octet | 8 |
| Decimal | 10 |
| Hexadecimal | 16 |
| Duotrigesimal | 32 |
| Base 64 (Not Supported) | 64 |
Using the table above you can convert any number form one base to the other
;N - Decimal Value
;Let's convert the letter "A" to Binary
;We first need to find the decimal/ascii value of the letter
var %decimal = $asc(A)
;Now that we have it in decimal numeral system (Base 10, our inbase)
;we can convert it to Binary (Base 2, outbase)
echo -a A -> $base(%decimal,10,2,8)
;A -> 01000001
ASCII Control Characters
The first 32 (0 to 31) char codes are reserve for control characters which were originally intended not to carry printable information, but rather to control devices.
| Dec | Oct | Hex | Binary | Abbr | mIRC CC | Description |
|---|---|---|---|---|---|---|
| 1 | 001 | 01 | 0000001 | SOH | Start of Header | |
| 2 | 002 | 02 | 0000010 | STX | Bold Text | Start of Text |
| 3 | 003 | 03 | 0000011 | ETX | Color Text | End of Test |
| 4 | 004 | 04 | 0000100 | EOT | End of Transmission | |
| 5 | 005 | 05 | 0000101 | ENQ | Enquiry | |
| 6 | 006 | 06 | 0000110 | ACK | Acknowledgment | |
| 7 | 007 | 07 | 0000111 | BEL | Bell | |
| 8 | 010 | 08 | 0001000 | BS | Backspace | |
| 9 | 011 | 09 | 0001001 | HT | Horizontal Tab | |
| 10 | 012 | 0A | 0001010 | LF | Line feed | |
| 11 | 013 | 0B | 0001011 | VT | Vertical Tab | |
| 12 | 014 | 0C | 0001100 | FF | Form feed | |
| 13 | 015 | 0D | 0001101 | CR | Carriage return | |
| 14 | 016 | 0E | 0001110 | SO | Shift Out | |
| 15 | 017 | 0F | 0001111 | SI | Plain Text | Shift In |
| 16 | 020 | 10 | 0010000 | DLE | Data Link Escape | |
| 17 | 021 | 11 | 0010001 | CD1 | Device Control 1 | |
| 18 | 022 | 12 | 0010010 | CD2 | Device Control 2 | |
| 19 | 023 | 13 | 0010011 | CD3 | Device Control 3 | |
| 20 | 024 | 14 | 0010100 | CD4 | Device Control 4 | |
| 21 | 025 | 15 | 0010101 | NAK | Negative Acknowledgement | |
| 22 | 026 | 16 | 0010110 | SYN | Reverse | Synchronous Idle |
| 23 | 027 | 17 | 0010111 | ETB | End of Trans. Block | |
| 24 | 030 | 18 | 0011000 | CAN | Cancel | |
| 25 | 031 | 19 | 0011001 | EM | End of Medium | |
| 26 | 032 | 1A | 0011010 | SUB | Substitute | |
| 27 | 033 | 1B | 0011011 | ESC | Escape | |
| 28 | 034 | 1C | 0011100 | FS | File Separator | |
| 29 | 035 | 1D | 0011101 | GS | Group Separator | |
| 30 | 036 | 1E | 0011110 | RS | Record Separator | |
| 31 | 037 | 1F | 0011111 | US | UnderLine | Unit Separator |
ASCII Printable Characters
echo -a $asc(<ascii value>)
Some characters like { and } are part of the language. As a result, using them in the $asc identifier will break it. You can prevent that by setting the character to a variable and referencing the variable. Since the $asc identifier will only convert the first char anyway, it is recommended to set the variable to the same char multiple time. Ex: {{ Instead of {
* Too many parameters: $asc
var %a {{
echo -a $asc(%a)
123
| Dec | Oct | Hex | Binary | $chr(N) | Char |
|---|---|---|---|---|---|
| 32 | 40 |
20 | 0100000 | $chr(32) | <space> |
| 33 | 41 | 21 | 0100001 | $chr(33) | ! |
| 34 | 42 | 22 | 0100010 | $chr(34) | " |
| 35 | 43 | 23 | 0100011 | $chr(35) | # |
| 36 | 44 | 24 | 0100100 | $chr(36) | $ |
| 37 | 45 | 25 | 0100101 | $chr(37) | % |
| 38 | 46 | 26 | 0100110 | $chr(38) | & |
| 39 | 47 | 27 | 0100111 | $chr(39) | ' |
| 40 | 50 | 28 | 0101000 | $chr(40) | ( |
| 41 | 51 | 29 | 0101001 | $chr(41) | ) |
| 42 | 52 | 2A | 0101010 | $chr(42) | * |
| 43 | 53 | 2B | 0101011 | $chr(43) | + |
| 44 | 54 | 2C | 0101100 | $chr(44) | , |
| 45 | 55 | 2D | 0101101 | $chr(45) | - |
| 46 | 56 | 2E | 0101110 | $chr(46) | . |
| 47 | 57 | 2F | 0101111 | $chr(47) | / |
| 48 | 60 | 30 | 0110000 | $chr(48) | 0 |
| 49 | 61 | 31 | 0110001 | $chr(49) | 1 |
| 50 | 62 | 32 | 0110010 | $chr(50) | 2 |
| 51 | 63 | 33 | 0110011 | $chr(51) | 3 |
| 52 | 64 | 34 | 0110100 | $chr(52) | 4 |
| 53 | 65 | 35 | 0110101 | $chr(53) | 5 |
| 54 | 66 | 36 | 0110110 | $chr(54) | 6 |
| 55 | 67 | 37 | 0110111 | $chr(55) | 7 |
| 56 | 70 | 38 | 0111000 | $chr(56) | 8 |
| 57 | 71 | 39 | 0111001 | $chr(57) | 9 |
| 58 | 72 | 3A | 0111010 | $chr(58) | : |
| 59 | 73 | 3B | 0111011 | $chr(59) | ; |
| 60 | 74 | 3C | 0111100 | $chr(60) | < |
| 61 | 75 | 3D | 0111101 | $chr(61) | = |
| 62 | 76 | 3E | 0111110 | $chr(62) | > |
| 63 | 77 | 3F | 0111111 | $chr(63) | ? |
| 64 | 100 | 40 | 1000000 | $chr(64) | @ |
| 65 | 101 | 41 | 1000001 | $chr(65) | A |
| 66 | 102 | 42 | 1000010 | $chr(66) | B |
| 67 | 103 | 43 | 1000011 | $chr(67) | C |
| 68 | 104 | 44 | 1000100 | $chr(68) | D |
| 69 | 105 | 45 | 1000101 | $chr(69) | E |
| 70 | 106 | 46 | 1000110 | $chr(70) | F |
| 71 | 107 | 47 | 1000111 | $chr(71) | G |
| 72 | 110 | 48 | 1001000 | $chr(72) | H |
| 73 | 111 | 49 | 1001001 | $chr(73) | I |
| 74 | 112 | 4A | 1001010 | $chr(74) | J |
| 75 | 113 | 4B | 1001011 | $chr(75) | K |
| 76 | 114 | 4C | 1001100 | $chr(76) | L |
| 77 | 115 | 4D | 1001101 | $chr(77) | M |
| 78 | 116 | 4E | 1001110 | $chr(78) | N |
| 79 | 117 | 4F | 1001111 | $chr(79) | O |
| 80 | 120 | 50 | 1010000 | $chr(80) | P |
| 81 | 121 | 51 | 1010001 | $chr(81) | Q |
| 82 | 122 | 52 | 1010010 | $chr(82) | R |
| 83 | 123 | 53 | 1010011 | $chr(83) | S |
| 84 | 124 | 54 | 1010100 | $chr(84) | T |
| 85 | 125 | 55 | 1010101 | $chr(85) | U |
| 86 | 126 | 56 | 1010110 | $chr(86) | V |
| 87 | 127 | 57 | 1010111 | $chr(87) | W |
| 88 | 130 | 58 | 1011000 | $chr(88) | X |
| 89 | 131 | 59 | 1011001 | $chr(89) | Y |
| 90 | 132 | 5A | 1011010 | $chr(90) | Z |
| 91 | 133 | 5B | 1011011 | $chr(91) | [ |
| 92 | 134 | 5C | 1011100 | $chr(92) | \ |
| 93 | 135 | 5D | 1011101 | $chr(93) | ] |
| 94 | 136 | 5E | 1011110 | $chr(94) | ^ |
| 95 | 137 | 5F | 1011111 | $chr(95) | _ |
| 96 | 140 | 60 | 1100000 | $chr(96) | ` |
| 97 | 141 | 61 | 1100001 | $chr(97) | a |
| 98 | 142 | 62 | 1100010 | $chr(98) | b |
| 99 | 143 | 63 | 1100011 | $chr(99) | c |
| 100 | 144 | 64 | 1100100 | $chr(100) | d |
| 101 | 145 | 65 | 1100101 | $chr(101) | e |
| 102 | 146 | 66 | 1100110 | $chr(102) | f |
| 103 | 147 | 67 | 1100111 | $chr(103) | g |
| 104 | 150 | 68 | 1101000 | $chr(104) | h |
| 105 | 151 | 69 | 1101001 | $chr(105) | i |
| 106 | 152 | 6A | 1101010 | $chr(106) | j |
| 107 | 153 | 6B | 1101011 | $chr(107) | k |
| 108 | 154 | 6C | 1101100 | $chr(108) | l |
| 109 | 155 | 6D | 1101101 | $chr(109) | m |
| 110 | 156 | 6E | 1101110 | $chr(110) | n |
| 111 | 157 | 6F | 1101111 | $chr(111) | o |
| 112 | 160 | 70 | 1110000 | $chr(112) | p |
| 113 | 161 | 71 | 1110001 | $chr(113) | q |
| 114 | 162 | 72 | 1110010 | $chr(114) | r |
| 115 | 163 | 73 | 1110011 | $chr(115) | s |
| 116 | 164 | 74 | 1110100 | $chr(116) | t |
| 117 | 165 | 75 | 1110101 | $chr(117) | u |
| 118 | 166 | 76 | 1110110 | $chr(118) | v |
| 119 | 167 | 77 | 1110111 | $chr(119) | w |
| 120 | 170 | 78 | 1111000 | $chr(120) | x |
| 121 | 171 | 79 | 1111001 | $chr(121) | y |
| 122 | 172 | 7A | 1111010 | $chr(122) | z |
| 123 | 173 | 7B | 1111011 | $chr(123) | { |
| 124 | 174 | 7C | 1111100 | $chr(124) | | |
| 125 | 175 | 7D | 1111101 | $chr(125) | } |
| 126 | 176 | 7E | 1111110 | $chr(126) | ~ |
| 127 | 177 | 7F | 1111111 | $chr(127) | <Delete Key> |
Extended ASCII codes
Extended ASCII codes (128-255) were added later on. There are different variations to this set, perhaps the most common is the ISO 8859-1 set, which is what mIRC uses.
| Dec | Oct | Hex | Binary | $chr(N) | Char |
|---|---|---|---|---|---|
| 128 | 200 |
80 | 10000000 | $chr(128) | € |
| 129 | 201 | 81 | 10000001 | $chr(129) | |
| 130 | 202 | 82 | 10000010 | $chr(130) | ‚ |
| 131 | 203 | 83 | 10000011 | $chr(131) | ƒ |
| 132 | 204 | 84 | 10000100 | $chr(132) | „ |
| 133 | 205 | 85 | 10000101 | $chr(133) | … |
| 134 | 206 | 86 | 10000110 | $chr(134) | † |
| 135 | 207 | 87 | 10000111 | $chr(135) | ‡ |
| 136 | 210 | 88 | 10001000 | $chr(136) | ˆ |
| 137 | 211 | 89 | 10001001 | $chr(137) | ‰ |
| 138 | 212 | 8A | 10001010 | $chr(138) | Š |
| 139 | 213 | 8B | 10001011 | $chr(139) | ‹ |
| 140 | 214 | 8C | 10001100 | $chr(140) | Œ |
| 141 | 215 | 8D | 10001101 | $chr(141) | Ž |
| 142 | 216 | 8E | 10001110 | $chr(142) | |
| 143 | 217 | 8F | 10001111 | $chr(143) | |
| 144 | 220 | 90 | 10010000 | $chr(144) | |
| 145 | 221 | 91 | 10010001 | $chr(145) | ‘ |
| 146 | 222 | 92 | 10010010 | $chr(146) | ’ |
| 147 | 223 | 93 | 10010011 | $chr(147) | “ |
| 148 | 224 | 94 | 10010100 | $chr(148) | ” |
| 149 | 225 | 95 | 10010101 | $chr(149) | • |
| 150 | 226 | 96 | 10010110 | $chr(150) | – |
| 151 | 227 | 97 | 10010111 | $chr(151) | — |
| 152 | 230 | 98 | 10011000 | $chr(152) | ˜ |
| 153 | 231 | 99 | 10011001 | $chr(153) | ™ |
| 154 | 232 | 9A | 10011010 | $chr(154) | š |
| 155 | 233 | 9B | 10011011 | $chr(155) | › |
| 156 | 234 | 9C | 10011100 | $chr(156) | œ |
| 157 | 235 | 9D | 10011101 | $chr(157) | |
| 158 | 236 | 9E | 10011110 | $chr(158) | ž |
| 159 | 237 | 9F | 10011111 | $chr(159) | Ÿ |
| 160 | 240 | A0 | 10100000 | $chr(160) | |
| 161 | 241 | A1 | 10100001 | $chr(161) | ¡ |
| 162 | 242 | A2 | 10100010 | $chr(162) | ¢ |
| 163 | 243 | A3 | 10100011 | $chr(163) | £ |
| 164 | 244 | A4 | 10100100 | $chr(164) | ¤ |
| 165 | 245 | A5 | 10100101 | $chr(165) | ¥ |
| 166 | 246 | A6 | 10100110 | $chr(166) | ¦ |
| 167 | 247 | A7 | 10100111 | $chr(167) | § |
| 168 | 250 | A8 | 10101000 | $chr(168) | ¨ |
| 169 | 251 | A9 | 10101001 | $chr(169) | © |
| 170 | 252 | AA | 10101010 | $chr(170) | ª |
| 171 | 253 | AB | 10101011 | $chr(171) | « |
| 172 | 254 | AC | 10101100 | $chr(172) | ¬ |
| 173 | 255 | AD | 10101101 | $chr(173) | |
| 174 | 256 | AE | 10101110 | $chr(174) | ® |
| 175 | 257 | AF | 10101111 | $chr(175) | ¯ |
| 176 | 260 | B0 | 10110000 | $chr(176) | ° |
| 177 | 261 | B1 | 10110001 | $chr(177) | ± |
| 178 | 262 | B2 | 10110010 | $chr(178) | ² |
| 179 | 263 | B3 | 10110011 | $chr(179) | ³ |
| 180 | 264 | B4 | 10110100 | $chr(180) | ´ |
| 181 | 265 | B5 | 10110101 | $chr(181) | µ |
| 182 | 266 | B6 | 10110110 | $chr(182) | ¶ |
| 183 | 267 | B7 | 10110111 | $chr(183) | · |
| 184 | 270 | B8 | 10111000 | $chr(184) | ¸ |
| 185 | 271 | B9 | 10111001 | $chr(185) | ¹ |
| 186 | 272 | BA | 10111010 | $chr(186) | º |
| 187 | 273 | BB | 10111011 | $chr(187) | » |
| 188 | 274 | BC | 10111100 | $chr(188) | ¼ |
| 189 | 275 | BD | 10111101 | $chr(189) | ½ |
| 190 | 276 | BE | 10111110 | $chr(190) | ¾ |
| 191 | 277 | BF | 10111111 | $chr(191) | ¿ |
| 192 | 300 | C0 | 11000000 | $chr(192) | À |
| 193 | 301 | C1 | 11000001 | $chr(193) | Á |
| 194 | 302 | C2 | 11000010 | $chr(194) | Â |
| 195 | 303 | C3 | 11000011 | $chr(195) | Ã |
| 196 | 304 | C4 | 11000100 | $chr(196) | Ä |
| 197 | 305 | C5 | 11000101 | $chr(197) | Å |
| 198 | 306 | C6 | 11000110 | $chr(198) | Æ |
| 199 | 307 | C7 | 11000111 | $chr(199) | Ç |
| 200 | 310 | C8 | 11001000 | $chr(200) | È |
| 201 | 311 | C9 | 11001001 | $chr(201) | É |
| 202 | 312 | CA | 11001010 | $chr(202) | Ê |
| 203 | 313 | CB | 11001011 | $chr(203) | Ë |
| 204 | 314 | CC | 11001100 | $chr(204) | Ì |
| 205 | 315 | CD | 11001101 | $chr(205) | Í |
| 206 | 316 | CE | 11001110 | $chr(206) | Î |
| 207 | 317 | CF | 11001111 | $chr(207) | Ï |
| 208 | 320 | D0 | 11010000 | $chr(208) | Ð |
| 209 | 321 | D1 | 11010001 | $chr(209) | Ñ |
| 210 | 322 | D2 | 11010010 | $chr(210) | Ò |
| 211 | 323 | D3 | 11010011 | $chr(211) | Ó |
| 212 | 324 | D4 | 11010100 | $chr(212) | Ô |
| 213 | 325 | D5 | 11010101 | $chr(213) | Õ |
| 214 | 326 | D6 | 11010110 | $chr(214) | Ö |
| 215 | 327 | D7 | 11010111 | $chr(215) | × |
| 216 | 330 | D8 | 11011000 | $chr(216) | Ø |
| 217 | 331 | D9 | 11011001 | $chr(217) | Ù |
| 218 | 332 | DA | 11011010 | $chr(218) | Ú |
| 219 | 333 | DB | 11011011 | $chr(219) | Û |
| 220 | 334 | DC | 11011100 | $chr(220) | Ü |
| 221 | 335 | DD | 11011101 | $chr(221) | Ý |
| 222 | 336 | DE | 11011110 | $chr(222) | Þ |
| 223 | 337 | DF | 11011111 | $chr(223) | ß |
| 224 | 340 | E0 | 11100000 | $chr(224) | à |
| 225 | 341 | E1 | 11100001 | $chr(225) | á |
| 226 | 342 | E2 | 11100010 | $chr(226) | â |
| 227 | 343 | E3 | 11100011 | $chr(227) | ã |
| 228 | 344 | E4 | 11100100 | $chr(228) | ä |
| 229 | 345 | E5 | 11100101 | $chr(229) | å |
| 230 | 346 | E6 | 11100110 | $chr(230) | æ |
| 231 | 347 | E7 | 11100111 | $chr(231) | ç |
| 232 | 350 | E8 | 11101000 | $chr(232) | è |
| 233 | 351 | E9 | 11101001 | $chr(233) | é |
| 234 | 352 | EA | 11101010 | $chr(234) | ê |
| 235 | 353 | EB | 11101011 | $chr(235) | ë |
| 236 | 354 | EC | 11101100 | $chr(236) | ì |
| 237 | 355 | ED | 11101101 | $chr(237) | í |
| 238 | 356 | EE | 11101110 | $chr(238) | î |
| 239 | 357 | EF | 11101111 | $chr(239) | ï |
| 240 | 360 | F0 | 11110000 | $chr(240) | ð |
| 241 | 361 | F1 | 11110001 | $chr(241) | ñ |
| 242 | 362 | F2 | 11110010 | $chr(242) | ò |
| 243 | 363 | F3 | 11110011 | $chr(243) | ó |
| 244 | 364 | F4 | 11110100 | $chr(244) | ô |
| 245 | 365 | F5 | 11110101 | $chr(245) | õ |
| 246 | 366 | F6 | 11110110 | $chr(246) | ö |
| 247 | 367 | F7 | 11110111 | $chr(247) | ÷ |
| 248 | 370 | F8 | 11111000 | $chr(248) | ø |
| 249 | 371 | F9 | 11111001 | $chr(249) | ù |
| 250 | 372 | FA | 11111010 | $chr(250) | ú |
| 251 | 373 | FB | 11111011 | $chr(251) | û |
| 252 | 374 | FC | 11111100 | $chr(252) | ü |
| 253 | 375 | FD | 11111101 | $chr(253) | ý |
| 254 | 376 | FE | 11111110 | $chr(254) | þ |
| 255 | 377 | FF | 11111111 | $chr(255) | ÿ |

