python数字转ASCII字符

数字转字符 - chr()

字符转数字 - ord()

于是就出现一个有意思的事情,chr()可以将数字转化为字符,而且根据python3的IDLE提示,chr()的范围为0<=i<=0x10ffff,如果我们遍历这之间的数值会有什么现象呢,如下:

在超过65535的时候,系统就提示错误了,可是同样的程序在cmd里面却可以正常运行,虽然chr()打印出来的结果都是方框。原来是chr()字符已经超出了IDLE可接受的BMP( Basic Multilingual Plane)范围,这种情况要额外处理下:

如此便能在IDLE中正常执行下去,原文可参看 Stack Overflow

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据