[英]Python read a single unicode character from the user
我正在寻找一种从标准输入中获取单个unicode字符的方法。 最近,我看到了这个主题 ,其中的解决方案不适用于Unicode字符,而仅适用于ASCII字符。
使用上述主题中引用的getch()
函数,当用户键入一个Unicode字符时,它表示为多个ASCII字符。 实际上, getch()
仅返回第一部分(字节)。 剩余的字节只能再次使用getch()
访问(但是我不知道如何知道还有多少字节)。
有没有一种方法实际上可以从输入中获取单个unicode字符?
谢谢!
如果您使用的是UTF-8,则多字节字符的第一个字节会告诉您有多少个字节。 所以这样的事情可以工作:
c = getch()
first_byte = ord(c)
bytes_remain = 0
while (first_byte >> (6 - bytes_remain)) & 0b11 == 0b11:
bytes_remain += 1
c += getch()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.