2.7K star!这个汉字工具库让中文处理变得超简单,开发者必备!

简介: 是一个功能全面的汉字工具库,提供拼音转换、笔画动画、偏旁查询、成语接龙、语音合成等20+种实用功能。支持Web/Node.js/小程序多端运行,仅需简单API调用即可实现复杂中文处理,是教育类应用、输入法开发、游戏设计的瑞士军刀

嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法

🇨🇳 cnchar 是一个功能全面的汉字工具库,提供拼音转换、笔画动画、偏旁查询、成语接龙、语音合成等20+种实用功能。支持Web/Node.js/小程序多端运行,仅需简单API调用即可实现复杂中文处理,是教育类应用、输入法开发、游戏设计的瑞士军刀!

为什么你需要这个汉字工具库?

在开发中文类应用时,我们常会遇到这些痛点:

  • 汉字转拼音要考虑多音字
  • 笔画动画需要复杂SVG绘制
  • 成语数据需要维护庞大词库
  • 语音合成涉及复杂音频处理

cnchar 的出现完美解决了这些问题!它就像中文处理的「百宝箱」,开发者无需重复造轮子,通过简单API调用即可获得专业级中文处理能力。

八大核心功能亮瞎眼

1. 智能拼音转换

// 带声调转换
cnchar.spell('中国', 'tone') // "zhōng guó"

// 首字母模式
cnchar.spell('深度学习', 'first') // "SDXX"

// 多音字识别
cnchar.spell('银行行长', 'poly') // "yín háng xíng zhǎng"

2. 笔画动画教学

// 生成书写动画
const writer = cnchar.draw('爱', {
 el: '#canvas',
 strokeAnimationSpeed: 1, // 动画速度
 showCharacter: false     // 隐藏参考字
});

// 导出GIF动画
writer.export('love.gif');

3. 成语接龙神器

// 填空接龙
cnchar.idiom(['五', '', '十', ''])
// 返回 ['五风十雨', '五光十色']

// 按笔画数匹配
cnchar.idiom([4, 6, 2, 6])
// 返回 ['五光十色']

4. 语音黑科技

// 文字转语音
cnchar.voice('欢迎使用cnchar').then(audio => {
 audio.play(); // 播放合成语音
});

// 语音识别(需要用户授权)
document.addEventListener('click', () => {
 cnchar.voice.recognize(text => {
   console.log('你说的是:' + text);
 });
});

5. 偏旁部首解析

cnchar.radical('编程')
/* 返回:
[
 { char: '编', radical: '纟', struct: '左右结构', count: 12 },
 { char: '程', radical: '禾', struct: '左右结构', count: 12 }
]
*/

6. 汉字结构可视化

// 生成结构图
cnchar.stroke('汉', {
 type: 'stroke',   // 显示笔画顺序
 animation: true,  // 启用动画
 color: '#f00'     // 红色笔画
});

7. 歇后语大全

// 模糊查询
cnchar.xhy('大水', 'fuzzy')
// 返回 ['江河里长大水-泥沙俱下', '江河发大水-后浪推前浪']

// 接龙模式
cnchar.xhy('上晃下摇', 'fuzzy', 'answer', 'second')
// 返回 ['醉汉过铁索桥']

8. 汉字冷知识

// 判断多音字
cnchar.isPolyWord('中') // true

// 拼音声调分析
cnchar.spellInfo('shàng')
// { spell: "shang", tone: 4, initial: "sh", final: "ang" }

技术架构解析

技术栈 作用说明 优势特性
TypeScript 核心开发语言 强类型/高可维护性
Webpack 模块打包 多环境适配
Canvas 笔画动画渲染 流畅动画效果
Web Audio API 语音合成 浏览器原生支持
汉字数据库 收录6万+汉字数据 权威准确

应用场景

1. 打字弹钢琴

2. 汉字笔画

3. 文字游戏设计

同类项目对比

项目名称 核心功能 数据量 多端支持 可视化能力
cnchar 20+功能全场景覆盖 6万+ ✔️ ✔️
pinyin.js 拼音转换 1.5万 ✔️
hanzi-writer 笔画动画 5千 ✔️ ✔️
xhy 歇后语查询 8千

核心优势

  1. 功能最全面的中文处理库
  2. 支持浏览器/Node.js/小程序
  3. 完善的在线文档和示例
  4. 持续更新的维护团队

快速上手指南

1. 安装使用

npm install cnchar
# 按需安装插件
npm install cnchar-draw cnchar-voice

2. 基础示例

<div id="canvas"></div>
<script>
// 显示"爱"的书写动画
cnchar.draw('爱', { el: '#canvas' });

// 朗读文字
cnchar.voice.speak('你好世界');
</script>

同类推荐

  1. hanzi-writer - 专业汉字书写动画库
  2. pinyin-pro - 高性能拼音转换工具
  3. xhs - 歇后语API服务
  4. chinese-lexicon - 中文词库大全# 2.7K star!这个汉字工具库让中文处理变得超简单,开发者必备!

项目信息

https://github.com/theajack/cnchar

相关文章
|
8月前
|
算法 数据可视化 API
常用的Python第三方库中哪个库可以用于图像处理?
常用的Python第三方库中哪个库可以用于图像处理?
582 5
|
8月前
|
人工智能 自然语言处理 算法
智能体是什么?拆解2024年关键AI趋势:从自动化工具到下一代商业生态核心
AI智能体正重塑商业未来:它不仅是技术突破,更是具备自主决策与执行能力的“数字员工”。从低代码开发到企业级应用,智能体推动流程自动化、人才结构升级。理解并掌握智能体,将成为个人与企业赢得智能时代的关键竞争力。(238字)
|
9月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
JSON 数据库 数据格式
[开发技巧] 如何获取汉字笔画数?
在开发卜筮小脚本时遇到获取汉字笔画数的需求,起初尝试使用`pypinyin`库却未得理想结果。经过探索,发现Unicode联盟维护的Unihan数据库提供准确的汉字笔画数据。通过下载Unihan数据库文件,解析其中的`kTotalStrokes`字段,利用正则表达式提取所需信息,并将其保存为JSON格式以供快速查询。最终编写函数`get_character_stroke_count`实现任意汉字笔画数的高效获取,满足了项目需求并提供了准确的数据支持。此方法不仅解决了问题,还为类似需求提供了参考方案。
912 10
[开发技巧] 如何获取汉字笔画数?
|
人工智能 数据可视化
用了这8款AI制作PPT软件,年终总结再也不是问题!
8款好用的AI生成PPT软件推荐,轻松解决你的年终总结!
|
机器学习/深度学习 算法
常用的PID有哪些?
常用的PID有哪些?
1231 1
常用的PID有哪些?
|
存储 网络协议 网络虚拟化
SRv6 基本结构
【5月更文挑战第4天】SRv6是一种网络功能指令化技术,将128位IPv6地址用于表达网络操作。它将业务需求转化为有序指令列表,由网络设备执行,实现灵活的网络业务编排和定制。
|
设计模式 存储 前端开发
【软件设计师备考 专题 】面向对象设计方法:体系结构、类的设计和用户接口设计
【软件设计师备考 专题 】面向对象设计方法:体系结构、类的设计和用户接口设计
517 0
|
缓存 JavaScript API
全面解析 Pinia:Vue 状态管理的新选择
本文深入探讨了 Pinia,作为 Vuex 的替代品,提供了一种更简洁和高效的状态管理方案。文章涵盖了 Pinia 的核心特性,包括支持 Vue2 和 Vue3、TypeScript 支持、无需嵌套模块的设计,以及对同步和异步操作的支持。详细介绍了如何创建和使用 Store,管理状态、Getters 和 Actions,重置状态以及通过 $patch 方法批量更新状态。最后,探讨了如何在不同 Store 之间共享数据和逻辑,为开发者提供了实用的 Pinia 使用指南。
558 0
|
网络安全 Docker 容器
WSL2 固定IP与局域网访问
该文档介绍了如何在新版WSL2中配置镜像模式网络,以实现WSL2 IP与主机相同的固定设置。然而,启用此模式后,Docker服务在本机上无法访问。作者分享了针对这个问题的解决方案,包括编辑`.wslconfig`文件开启镜像网络和调整Docker设置。具体步骤涉及更新WSL和Docker(docker-ce)的安装,以及修改`daemon.json`文件以允许本机和局域网访问Docker服务。
2350 2