Notion Blog
技术分享1 分钟阅读

Python 获取中文常用字符

utf-8 汉字范围获取是处理Unicode字符编码中汉字字符的一个重要步骤。在UTF-8编码中,汉字通常占用三到四个字节的空间,其编码范围可以通过Unicode编码的范围来确定。Unicode为汉字分配了一个专门的区块,即汉字区块(Han Unicode Block),其范围大致是从U+4E00到U+9FFF。

要获取这个范围内的所有汉字,我们首先需要理解UTF-8编码和Unicode编码之间的映射关系。在UTF-8编码中,一个汉字通常使用三个字节表示,其编码形式为1110xxxx 10xxxxxx 10xxxxxx,其中x代表二进制中的任意一位。

为了获取这个范围内的所有汉字,我们可以编写一个程序来遍历从U+4E00到U+9FFF的所有Unicode码点,并将它们转换为UTF-8编码形式。这样,我们就可以得到一个包含所有常用汉字的UTF-8编码列表。

这个过程可以通过编程实现,例如在Python中,我们可以使用unicodedata模块来处理Unicode字符,并使用codecs模块来进行编码转换。下面是一个简单的示例代码,演示如何获取并打印出UTF-8编码的汉字范围:

import unicodedata
import codecs

# 定义汉字Unicode范围的起始和结束码点
start_codepoint = 0x4E00
end_codepoint = 0x9FFF

# 遍历Unicode码点范围,获取汉字并转换为UTF-8编码
for codepoint in range(start_codepoint, end_codepoint + 1):
    char = chr(codepoint)
    utf8_encoded = codecs.encode(char, 'utf-8')
    print(utf8_encoded)

这段代码会输出每个汉字对应的UTF-8编码形式。通过这种方式,我们可以方便地获取和处理UTF-8编码中的汉字字符,为文本处理、数据分析等任务提供基础数据支持。同时,这也展示了从Unicode编码到UTF-8编码转换的过程,有助于我们更深入地理解字符编码的原理和应用。

汉字、字节、16进制转换

print('久'.encode('gb18030'))

print('久'.encode('gbk'))
print(b'\x81\x39\xF2\x37'.decode('gb18030'))

#字节转为16进制字符串
print(b'\x81\x39\xF2\x37'.hex())  # 8139f237

#16进制字符串转文字 忽略大小写
print(bytes.fromhex('8139f237').decode('gb18030')) # 㐦

有关使用上的问题,欢迎您在底部评论区留言,一起交流~

读者评论

评论会同步写入该文在 Notion 中的页面底部(与正文同页,便于管理)。

0/1500

暂无评论,欢迎抢沙发。