non-blocking getkey?

Steven D'Aprano steve at pearwood.info
Wed Nov 18 08:38:25 EST 2015


On Thu, 19 Nov 2015 12:06 am, Ulli Horlacher wrote:

> Terry Reedy <tjreedy at udel.edu> wrote:
> 
>> >       from Tkinter import Tk
>> >       from tkFileDialog import askopenfilename
>> >
>> >       Tk().withdraw()
>> >       file = askopenfilename()
>> 
>> To get multiple names, add 's'.
> 
> I have found it already, thanks.
> 
> 
>> The limitation is that this will not work if any of the file names
>> contain astral (non-BMP) chars because tk cannot handle such characters.
> 
> What are "astral chars"?

Unicode characters beyond U+FFFF.

Unicode covers the entire range of code points (informally characters, don't
worry about the technical difference) from U+0000 to U+10FFFF. The part
following the "U+" is the numeric ordinal value, written in hexadecimal.

Some older versions of Unicode only included 2**16 == 65536 distinct
characters, but many years ago Unicode was extended far beyond that number.
But the first 65536 characters are called the "Basic Multilingual Plane".
All the rest are in the "Supplementary Multilingual Planes", which being a
mouthful to say and write, often gets abbreviated as "astral planes". Hence
the characters themselves are called "astral characters".

Even today, some programming languages and systems have difficulty dealing
with characters that require more than two bytes.

-- 
Steven




More information about the Python-list mailing list