使用python按拼音归类GBK编码表中的所有汉字

|---------------------------------------------------------------------------------|
| 按拼音归类GBK编码表中的所有汉字,每个拼音对应的第一个汉字前面用左大括号,每一个拼音的最后一个汉字后面用右大括号,并保存到txt文本中,并统计包含了多少汉字 |

安装必要的库

确保安装 pypinyin 库用于拼音转换:

bash 复制代码
pip install pypinyin

代码

bash 复制代码
import collections
import pypinyin
 
# 生成 GBK 编码中的所有汉字
gbk_charset = set()
for high_byte in range(0x81, 0xFF):
    for low_byte in range(0x40, 0xFF):
        try:
            byte_seq = bytes([high_byte, low_byte])
            char = byte_seq.decode('gbk')
            if '\u4e00' <= char <= '\u9fff':  # 判断是否为汉字
                gbk_charset.add(char)
        except UnicodeDecodeError:
            continue
 
# 创建拼音分类字典
pinyin_dict = collections.defaultdict(list)
 
# 将汉字按拼音归类
for char in gbk_charset:
    pinyin_list = pypinyin.pinyin(char, style=pypinyin.NORMAL)
    if pinyin_list:
        pinyin = pinyin_list[0][0].lower()
        pinyin_dict[pinyin].append(char)
 
# 统计汉字数量
total_hanzi_count = sum(len(chars) for chars in pinyin_dict.values())
 
# 按拼音排序并保存到文本文件
sorted_pinyin = sorted(pinyin_dict.keys())
 
with open('gbk_hanzi_sorted_by_pinyin.txt', 'w', encoding='utf-8') as f:
    for pinyin in sorted_pinyin:
        chars = pinyin_dict[pinyin]
        if chars:
            formatted_chars = '{' + ''.join(chars) + '}'
            f.write(f"{pinyin}: {formatted_chars}\n")
    f.write(f"\n总共包含的汉字数量: {total_hanzi_count}\n")
 
print("汉字按拼音归类并保存到文本文件完成。")
print(f"总共包含的汉字数量: {total_hanzi_count}")
相关推荐
2601_9669496525 分钟前
如何封装 qd.klines.batch(),让批量 K 线查询函数在多个策略中复用?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
神仙别闹2 小时前
基于Python实现英词语自动对齐系统
开发语言·python
老歌老听老掉牙2 小时前
圆柱端面四平面交线及其在yoz面投影的几何解析与 Python 实现
开发语言·python·平面
我要见SA姐13 小时前
Chrome 扩展安全攻防实录:从权限滥用到供应链投毒
运维·人工智能·python·机器学习·自动化
2601_962885723 小时前
给 backtrader 接 A 股数据:用 AlphaFeed 喂PandasData
python
YYYing.3 小时前
【Agent系列 (十一) 】上下文工程
人工智能·python·ai·agent·上下文工程
计算机毕业编程指导师3 小时前
基于深度学习的光伏组件红外图像缺陷识别系统设计与实现
人工智能·python·深度学习·目标检测·毕业设计·课程设计·光伏
前端精髓4 小时前
langchain 短期记忆(状态)动态运行时上下文
python·langchain
最强小杰5 小时前
DeepSeek V4 Flash + Codex CLI 接入教程:原生 Responses API 适配,从配置到跑通收藏这篇就够了(2026)
java·前端·python·ai
DeepVisionary5 小时前
为拿并网许可,OpenAI在佐治亚新园区同意高峰期断电三成
python·自动化