ASCII символы

Давным давно была создана кодировка ASCII в которой один символ кодировался одним байтом. С помощью одного байта можно закодировать 256 разных символов.

Потом стали появляться другие однобайтовые кодировки, в которых символы с 0 до 127 точно такие же как в ASCII, а вот символы с 128 до 255 какие-то другие, специальные для этой кодировки.

Сейчас повсеместно используется Unicode кодировка UTF-8, но и в этой кодировке символы с кодами до 127 точно такие же как и в ASCII.

Ниже — таблица соответствий число-символ для всех символов, которые общие для разных кодировок.

Символы с кодами от 0 до 32 и символ с кодом 127 это специальные управляющие штуки. Они могут либо вообще не отображаться на экране, либо отображаться как-то странно. В этой таблице их нет.

В таблице отображает число в десятеричной, двоичной и шестнадцатеричных системах счисления.

А под таблицей находится Perl скрипт с помощью которого была создана эта таблица.

dec        bin     hex    char
......................................
 32     100000    0x20    " " (space)
 33     100001    0x21    !
 34     100010    0x22    "
 35     100011    0x23    #
 36     100100    0x24    $
 37     100101    0x25    %
 38     100110    0x26    &
 39     100111    0x27    '
 40     101000    0x28    (
 41     101001    0x29    )
 42     101010    0x2A    *
 43     101011    0x2B    +
 44     101100    0x2C    ,
 45     101101    0x2D    -
 46     101110    0x2E    .
 47     101111    0x2F    /
 48     110000    0x30    0
 49     110001    0x31    1
 50     110010    0x32    2
 51     110011    0x33    3
 52     110100    0x34    4
 53     110101    0x35    5
 54     110110    0x36    6
 55     110111    0x37    7
 56     111000    0x38    8
 57     111001    0x39    9
 58     111010    0x3A    :
 59     111011    0x3B    ;
 60     111100    0x3C    <
 61     111101    0x3D    =
 62     111110    0x3E    >
 63     111111    0x3F    ?
 64    1000000    0x40    @
 65    1000001    0x41    A
 66    1000010    0x42    B
 67    1000011    0x43    C
 68    1000100    0x44    D
 69    1000101    0x45    E
 70    1000110    0x46    F
 71    1000111    0x47    G
 72    1001000    0x48    H
 73    1001001    0x49    I
 74    1001010    0x4A    J
 75    1001011    0x4B    K
 76    1001100    0x4C    L
 77    1001101    0x4D    M
 78    1001110    0x4E    N
 79    1001111    0x4F    O
 80    1010000    0x50    P
 81    1010001    0x51    Q
 82    1010010    0x52    R
 83    1010011    0x53    S
 84    1010100    0x54    T
 85    1010101    0x55    U
 86    1010110    0x56    V
 87    1010111    0x57    W
 88    1011000    0x58    X
 89    1011001    0x59    Y
 90    1011010    0x5A    Z
 91    1011011    0x5B    [
 92    1011100    0x5C    \
 93    1011101    0x5D    ]
 94    1011110    0x5E    ^
 95    1011111    0x5F    _
 96    1100000    0x60    `
 97    1100001    0x61    a
 98    1100010    0x62    b
 99    1100011    0x63    c
100    1100100    0x64    d
101    1100101    0x65    e
102    1100110    0x66    f
103    1100111    0x67    g
104    1101000    0x68    h
105    1101001    0x69    i
106    1101010    0x6A    j
107    1101011    0x6B    k
108    1101100    0x6C    l
109    1101101    0x6D    m
110    1101110    0x6E    n
111    1101111    0x6F    o
112    1110000    0x70    p
113    1110001    0x71    q
114    1110010    0x72    r
115    1110011    0x73    s
116    1110100    0x74    t
117    1110101    0x75    u
118    1110110    0x76    v
119    1110111    0x77    w
120    1111000    0x78    x
121    1111001    0x79    y
122    1111010    0x7A    z
123    1111011    0x7B    {
124    1111100    0x7C    |
125    1111101    0x7D    }
126    1111110    0x7E    ~

Вот скрипт с помощью которого была создана эта таблица:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my $separator = ' 'x4;

my $format = join(' 'x4, qw(%3s %7s %4s %s)) . "\n";

printf $format, 'dec', 'bin', 'hex', 'char';
print '.'x38 . "\n";

foreach my $num (32..126) {

    printf $format,
        $num,
        sprintf('%b', $num),
        sprintf('0x%X', $num),
        $num == 32 ? '" " (space)' : chr($num),
        ;

}

Связанные темы

Другие статьи