Input Encoder DP 是一个基于字典树和动态规划的命令行工具,用于在给定
输入法编码方案下,为任意中文文本计算总按键开销最小的完整编码路径。
适用于拼音、五笔、仓颉、郑码等输入法的编码优化分析。
- 🚀 高效:时间复杂度接近线性,1秒可计算100万字
- 📊 全能:附带编码分析,直接获取码长等30+指标
- ⚙ 自动:通过TOML文件配置所有参数,无交互
- 📦 易用:AOT编译为原生
win-x64可执行文件,解压即用
- 操作系统:Windows 10 或更高版本
- 架构:x64
注意:AOT编译,无需安装.NET运行时
- 下载 最新版本包 并解压
- 按需修改目录下的
Config.toml - 运行程序
InputEncoderDP.exe- 推荐方式:在控制台中运行,以查看输出日志
- 简便方式:直接运行,执行完毕后自动退出
程序的所有行为均由 Config.toml 文件控制。
以下是示例配置及详细说明(随包附带):
# 待编码的文本路径
in_path = "TestText.txt"
# 编码及其开销的连接策略:
# SpacePunct - 空格或标点
# NoGap - 无间隔
# Jd6 - 键道6顶功
strat = "SpacePunct"
# 编码结果及其分析报告输出路径(存在则覆写)
out_path = "TestTextCodeReport.txt"
# 键对-开销(当量)路径
costs_path = "Cfg/Costs.tsv"
# 词库(RIME格式)路径
dict_path = "Cfg/Method.dict.yaml"
# 键盘布局配置(注意顺序)
[layout]
# 各行键值
rows = [
"1234567890-=", # 数字
"qwertyuiop[]", # 上排
"asdfghjkl;'", # 中排
"zxcvbnm,./", # 下排
" " # 空格
]
# 各指键值
fingers = [
"4rfv5tgb", # 左食指
"3edc", # 左中指
"2wsx", # 左无名指
"1qaz", # 左小指
"6yhn7ujm", # 右食指
"8ik,", # 右中指
"9ol.", # 右无名指
"0p;/-['=]", # 右小指
" " # 拇指
]- 框架:.NET 10.0
- 语言:C# 14.0
- 依赖:Tomlyn
- 作者:GarthTB | 天卜 g-art-h@outlook.com
- 许可证:MIT 许可证
- 可以自由使用、修改和分发软件
- 可以用于商业项目
- 必须保留原始版权声明
Copyright (c) 2025 GarthTB | 天卜
- 项目地址:https://github.com/GarthTB/InputEncoderDP
- 修复:各种编码指标的统计方法
- 优化:提升编码速度
- 调整:配置文件
- 首个发布!