如何使用Python在控制台打印所有可打印ASCII字符列表?
可打印ASCII字符的Python打印方案
部分ASCII字符是可打印的,部分则不可打印。
不可打印ASCII字符如下:
0 NUL (Ctrl-@) NULL 1 SOH (Ctrl-A) START OF HEADING 2 STX (Ctrl-B) START OF TEXT 3 ETX (Ctrl-C) END OF TEXT 4 EOT (Ctrl-D) END OF TRANSMISSION 5 ENQ (Ctrl-E) ENQUIRY 6 ACK (Ctrl-F) ACKNOWLEDGE 7 BEL (Ctrl-G) BELL (Beep) 8 BS (Ctrl-H) BACKSPACE 9 HT (Ctrl-I) HORIZONTAL TAB 10 LF (Ctrl-J) LINE FEED 11 VT (Ctrl-K) VERTICAL TAB 12 FF (Ctrl-L) FORM FEED 13 CR (Ctrl-M) CARRIAGE RETURN 14 SO (Ctrl-N) SHIFT OUT 15 SI (Ctrl-O) SHIFT IN 16 DLE (Ctrl-P) DATA LINK ESCAPE 17 DC1 (Ctrl-Q) DEVICE CONTROL 1 (XON) 18 DC2 (Ctrl-R) DEVICE CONTROL 2 19 DC3 (Ctrl-S) DEVICE CONTROL 3 (XOFF) 20 DC4 (Ctrl-T) DEVICE CONTROL 4 21 NAK (Ctrl-U) NEGATIVE ACKNOWLEDGE 22 SYN (Ctrl-V) SYNCHRONOUS IDLE 23 ETB (Ctrl-W) END OF TRANSMISSION BLOCK 24 CAN (Ctrl-X) CANCEL 25 EM (Ctrl-Y) END OF MEDIUM 26 SUB (Ctrl-Z) SUBSTITUTE 27 ESC (Ctrl-[) ESCAPE 28 FS (Ctrl-\) FILE SEPARATOR 29 GS (Ctrl-]) GROUP SEPARATOR 30 RS (Ctrl-^) RECORD SEPARATOR 31 US (Ctrl-_) UNIT SEPARATOR
如何用Python在控制台打印所有可打印ASCII字符?
这里提供两种简单可行的实现方法:
方法一:利用string模块的printable属性
Python的string模块内置了printable常量,直接包含所有可打印ASCII字符(含空格、制表符等空白字符),直接调用打印即可:
import string print(string.printable)
如果只需要可见字符,可过滤掉空白类字符:
import string visible_chars = [c for c in string.printable if not c.isspace()] print(''.join(visible_chars))
方法二:遍历ASCII范围并判断可打印性
ASCII可打印字符的十进制范围是32(空格)到126(~),遍历该区间后用str.isprintable()判断并输出:
# 逐个打印可打印字符,用空格分隔 for ascii_code in range(32, 127): char = chr(ascii_code) print(char, end=' ')
若需要同时展示ASCII码和对应字符,方便核对:
for ascii_code in range(32, 127): char = chr(ascii_code) print(f"ASCII码: {ascii_code:3d} 字符: '{char}'")
内容的提问来源于stack exchange,提问作者Toothpick Anemone
相关产品推荐
相关产品推荐

