Python字符串isprintable()
时间:2020-02-23 14:43:28 来源:igfitidea点击:
如果字符串中的所有字符都是可打印的或者字符串为空,则Python String isprintable()函数将返回True,否则返回False。
Python字符串isprintable()
不可打印字符是在Unicode字符数据库中定义为"其他"或者"分隔符"的那些字符,但认为可打印的ASCII空间(0x20)除外。
请注意,在此上下文中,可打印字符是在字符串上调用repr()时不应转义的那些字符。
我们来看一些Python String isprintable()函数的示例。
s = 'Hi Hello World' print(s.isprintable())
输出:True
,因为所有字符都是可打印的,并且空格被视为可打印的字符。
s = '' print(s.isprintable())
输出:True,因为空字符串被认为是可打印的。
s = 'Hi\tHello' print(s.isprintable())
输出:False
,因为\ t不是可打印字符。
s = 'Hi\nHello' print(s.isprintable())
输出:False,因为\ n不是可打印字符。
s = 'Hi\'Hello' print(s.isprintable()) print(s)
输出:
True Hi'Hello
让我们看另一个带有转义字符的示例。
s = 'Hi\bHello' print(s.isprintable()) print(s)
输出:
False HHello
\ b字符被认为是不可打印的。
s = 'Hi\aHello' print(s.isprintable()) print(s)
输出:
False HiHello
\ a字符被认为是不可打印的。
s = 'Hi\u0066Hello' print(s.isprintable()) print(s) s = 'Hi\u0009Hello' print(s.isprintable()) print(s)
输出:
True HifHello False Hi Hello
\ u0066(f)是可打印的,而\ u0009(\ t)是不可打印的。
打印所有非打印字符列表
这是一个简单的代码段,用于打印不可打印字符的详细信息列表。
count = 0 for codepoint in range(2 ** 16): ch = chr(codepoint) if not ch.isprintable(): print(u'{:04x}'.format(codepoint)) count = count + 1 print(f'Total Number of Non-Printable Unicode Characters = {count}')
输出:
0000 0001 0002 ... fffb fffe ffff Total Number of Non-Printable Unicode Characters = 10249