ASCII 編碼
參考資源
ASCII (American Standard Code for Information Interchange,美國資訊交換標準代碼) 是基於拉丁字母的一套電腦編碼系統。它主要用於顯示現代英語。
維基百科
進位轉換
| 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 |
~ |
可顯示字元建表程式
| 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}|")
|
大小寫字母
| # 存取大寫字母
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 值
| while True:
astr = input('輸入一個字串 (q 表示離開): ')
if astr == 'q':
break
for c in astr:
print(f'{c} -> {ord(c)}')
print('-'*10)
|