如何在utf 8上迭代?
import string
for character in string.printable[1:]:
print (character)
大概对UTF-8也有类似的方法吧?
发布于 2020-06-09 22:21:19
大概对UTF-8有类似的方法吗?
您想知道哪些代码点可以在ascii范围之外打印吗?还是想要可打印字符的utf8编码?
要获取所有unicode的所有可打印代码点,请执行以下操作:
unicode_max = 0x10ffff
printable_glyphs = [ chr(x) for x in range(0, unicode_max+1) if chr(x).isprintable() ]
如上所述,utf8是一种编码。这是将文本映射到特定字节的时候,以便其他程序可以共享数据。
内存中的文本不是utf8.每个字符/字形都有一个代码点。
转换为utf-8
import unicodedata
monkey = unicodedata.lookup('monkey')
print(f"""
glyph: {monkey}
codepoint: Dec: {ord(monkey)}
codepoint: Hex: {hex(ord(monkey))}
utf8: { monkey.encode('utf8', errors='strict') }
utf16: { monkey.encode('utf16', errors='strict') }
utf32: { monkey.encode('utf32', errors='strict') }
""")
产出:
glyph:
codepoint: Dec: 128018
codepoint: Hex: 0x1f412
utf8: b'\xf0\x9f\x90\x92'
utf16: b'\xff\xfe=\xd8\x12\xdc'
utf32: b'\xff\xfe\x00\x00\x12\xf4\x01\x00'
https://stackoverflow.com/questions/62292312
复制相似问题