最近突然发现竟然无法打印 ASCII 表: 用 Python 也不行:
原因:
print 是打印在终端的,而这个终端是电脑中的控制台,名字叫 cmd: 看属性: 当前代码页显示是中文 GBK 编码: 当前代码页是中文编码 936 GBK.
如何修改?
- 临时修改,直接在窗口运行命令:
chcp 65001 改变页面编码为 utf-8(65001) - 永久修改:
修改注册表,改掉这个属性即可(修改注册表前最好先备份,以免改错了,系统挂了)。
Win+R 输入 regedit 调出 注册表,路径如下: HKEY_CURRENT_USER\Console%SystemRoot%_system32_cmd.exe 我修改为 utf-8 后依然无效,于是改成 437 修改完成: 输出: 至少有输出图案了。 pycharm 的控制台不知道编码从哪里来,不过我们可以从 cmd 去执行: 打开python脚本所在路径,执行命令: 因为数值较小的字符有些是控制字符,所以用 for 循环输出,有些字符会被覆盖或删除。 我们可以单独输出某一个:
for i in range(5,6):
print(chr(i),end=',')
顺便提一句:数字 7 是蜂鸣,打印的时候,电脑会相应地响一声。如果加上sleep,写一首歌也不是不行。
拓展:
十进制码值 对应编码名称 950 繁体中文 65001 UTF-8代码页 936 简体中文默认的GBK 437 MS-DOS 美国英语
|