curses
如何使用 Python 的模块将 UTF8 字符写入屏幕的最后一个位置(右下角) ?
这项任务一开始可能看起来很简单,但事实并非如此。首先,Python 2.x无法使用 curses 输出 UTF-8,所以我们在这里假设 Python 3.x。有两个明显的候选人可以这样做:
screen.insch(lines - 1, columns - 1, u"\u00a9")
这给出了一个OverflowError: byte doesn't fit in chtype
. 真可惜。关于什么:
screen.addch(lines - 1, columns - 1, u"\u00a9")
虽然这有效,但它也会滚动屏幕。所以我们实际上写入了倒数第二行的最后一列。仍然是最后一行的最后一列,没有我们的性格。
对于大多数职位,addch
工作得很好,但不适用于最后一个。insch
UTF8 看起来刚刚坏了。