Skip to content

ASCII 編碼

參考資源

ASCII (American Standard Code for Information Interchange,美國資訊交換標準代碼) 是基於拉丁字母的一套電腦編碼系統。它主要用於顯示現代英語。

維基百科

進位轉換

1
2
3
4
n = int(input('n: '))
print(f'n 的  2 進位 {bin(n)}')
print(f'n 的  8 進位 {oct(n)}')
print(f'n 的 16 進位 {hex(n)}')

ASCII 可顯示字元

BIN HEX DEC CHAR
01000000 20 32
01000010 21 33 !
01000100 22 34 "
01000110 23 35 #
01001000 24 36 $
01001010 25 37 %
01001100 26 38 &
01001110 27 39 '
01010000 28 40 (
01010010 29 41 )
01010100 2A 42 *
01010110 2B 43 +
01011000 2C 44 ,
01011010 2D 45 -
01011100 2E 46 .
01011110 2F 47 /
01100000 30 48 0
01100010 31 49 1
01100100 32 50 2
01100110 33 51 3
01101000 34 52 4
01101010 35 53 5
01101100 36 54 6
01101110 37 55 7
01110000 38 56 8
01110010 39 57 9
01110100 3A 58 :
01110110 3B 59 ;
01111000 3C 60 <
01111010 3D 61 =
01111100 3E 62 >
01111110 3F 63 ?
10000000 40 64 @
10000010 41 65 A
10000100 42 66 B
10000110 43 67 C
10001000 44 68 D
10001010 45 69 E
10001100 46 70 F
10001110 47 71 G
10010000 48 72 H
10010010 49 73 I
10010100 4A 74 J
10010110 4B 75 K
10011000 4C 76 L
10011010 4D 77 M
10011100 4E 78 N
10011110 4F 79 O
10100000 50 80 P
10100010 51 81 Q
10100100 52 82 R
10100110 53 83 S
10101000 54 84 T
10101010 55 85 U
10101100 56 86 V
10101110 57 87 W
10110000 58 88 X
10110010 59 89 Y
10110100 5A 90 Z
10110110 5B 91 [
10111000 5C 92 \
10111010 5D 93 ]
10111100 5E 94 ^
10111110 5F 95 _
11000000 60 96 `
11000010 61 97 a
11000100 62 98 b
11000110 63 99 c
11001000 64 100 d
11001010 65 101 e
11001100 66 102 f
11001110 67 103 g
11010000 68 104 h
11010010 69 105 i
11010100 6A 106 j
11010110 6B 107 k
11011000 6C 108 l
11011010 6D 109 m
11011100 6E 110 n
11011110 6F 111 o
11100000 70 112 p
11100010 71 113 q
11100100 72 114 r
11100110 73 115 s
11101000 74 116 t
11101010 75 117 u
11101100 76 118 v
11101110 77 119 w
11110000 78 120 x
11110010 79 121 y
11110100 7A 122 z
11110110 7B 123 {
11111000 7C 124
11111010 7D 125 }
11111100 7E 126 ~

可顯示字元建表程式

1
2
3
4
5
6
7
print(f"|{'BIN':^9}|{'HEX':^5}|{'DEC':^5}|{'CHAR':^6}|")
print(f"|{'-'*9:^9}|{'-'*5:^5}|{'-'*5:^5}|{'-'*6:^6}|")
for i in range(32, 127):
    bb = bin(i)[2:]
    hh = hex(i)[2:].upper()
    cc = chr(i)
    print(f"|{bb:^08} | {hh:^4}|{i:>4} | {cc:^5}|")

大小寫字母

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 存取大寫字母
alist = []
# 存取小寫字母
blist = []
for i in range(65, 91):
    alist.append(chr(i))
    # 小寫的 ASCII 值與大寫相差 32
    blist.append(chr(i+32))
# 使用 str.join() 方法合併字母為一個字串
print(''.join(alist))
print(''.join(blist))

查詢字元 ASCII 值

1
2
3
4
5
6
7
while True:
    astr = input('輸入一個字串 (q 表示離開): ')
    if astr == 'q':
        break
    for c in astr:
        print(f'{c} -> {ord(c)}')
    print('-'*10)