我遇到了图书馆getch()功能的问题。curses假设我们有以下程序:
import curses
def main(stdscr):
while 1:
c = stdscr.getch()
stdscr.addstr(chr(c) + ": " + str(c) + "\n")
curses.wrapper(main)
让我们运行它,然后输入以下字符:a, <backspace>,œ
然后输出是:
a: 97
ć: 263
Å: 197
如您所见,a角色被正确拍摄。然而,其他人不是。我只想得到退格键'\b'和 unicode 字符œ,但我们得到了别的东西。
为什么会getch()这样,我怎样才能得到想要的行为?
编辑:
让我强调一下,这不是打印字符的问题,而是读取字符的问题。即,运行stdscr.addstr('œ')确实打印œ.