korean-character-count

korean-character-count

热门

精准计算韩文文本字数、行数与字节数。基于明确的字素(grapheme)、换行及字节契约进行确定性统计,专为自我介绍、求职表单等有字数限制的场景设计。

6490Star
745Fork
更新于 2026/7/24
SKILL.md
只读
名称
korean-character-count
描述

精准计算韩文文本字数、行数与字节数。基于明确的字素(grapheme)、换行及字节契约进行确定性统计,专为自我介绍、求职表单等有字数限制的场景设计。

韩文字数统计

功能说明

针对自我介绍、求职申请表、自由问答表单等对字数限制极高的韩文文本,抛弃大模型的模糊估计,采用确定性逻辑进行精准统计。

  • 基础字数:基于 Intl.Segmenter 的 Unicode extended grapheme cluster(扩展字素集群)
  • 行数:将 CRLFLFCRU+2028U+2029 统一计为 1 次换行
  • 基础字节数:UTF-8 实际编码长度
  • 兼容配置:支持 neis 字节规则

适用场景

  • "帮我准确查一下这份自我介绍有没有超过 1000 字"
  • "按 UTF-8 字节标准计算这段文本的长度"
  • "把行数和字节数也一起统计出来"
  • "这段包含韩文、英文、Emoji 的句子别凭感觉猜,用代码帮我精确统计"

为什么需要此 Skill

  • 在有字数限制的场景下,差 1 个字都可能导致提交失败。
  • 大模型凭视觉估算字数缺乏可复现性与稳定性。
  • 本 Skill 绝不会随意 trim 或正则归一化输入文本,完全严格按文档约定进行统计。

统计契约 (Contracts)

default 配置

  • characters(字数):Intl.Segmenter("ko", { granularity: "grapheme" })
  • bytes(字节数):Buffer.byteLength(text, "utf8")
  • lines(行数):
    • 空字符串 => 0
    • 非空文本 => 换行序列数量 + 1
    • CRLF 计为 1 次换行,而非 2 次换行

neis 配置

  • characters(字数):与 default 一致
  • lines(行数):与 default 一致
  • bytes(字节数):
    • 韩文字素(grapheme)=> 3B
    • ASCII 字素 => 1B
    • Enter/换行序列 => 2B
    • 其他字符兜底退回 UTF-8 实际字节长度

前置条件

  • node 18+
  • 已安装 Skill 的 payload 目录中需包含 scripts/korean_character_count.js 辅助脚本
  • 无需任何 API Key

执行流程

  1. 直接接收文本输入,或从文件/STDIN 读取。
  2. 运行 node scripts/korean_character_count.js 执行确定性字数统计。
  3. 选择所需的配置 Profile(default/neis)与输出格式 Format(json/text)。
  4. 原样返回统计结果,并说明所使用的统计契约规则。

CLI 使用示例

node scripts/korean_character_count.js --text "가나다"
node scripts/korean_character_count.js --text $'첫 줄\r\n둘째 줄🙂'
node scripts/korean_character_count.js --text $'첫 줄\n둘째 줄🙂' --profile neis --format text
node scripts/korean_character_count.js --file ./essay.txt --profile default
cat essay.txt | node scripts/korean_character_count.js --stdin --profile neis

输出规范

  • 切勿盲目预测,必须直接使用 helper 脚本返回的结果。
  • 输出结果时必须标明所使用的 Profile 配置。
  • 如无特殊要求,默认使用 default Profile。
  • 仅在提交目标明确要求 NEIS / 韩国教育信息系统(학교생활기록부)等特殊契约时,才使用 neis Profile。

验收标准

  • 能够同时返回字数、行数与字节数。
  • 文档中明确标注了 defaultneis 契约规则的区别。
  • node scripts/korean_character_count.js --help 可正常运行。
  • 针对韩文/英文/空格/换行/Emoji 混合输入的测试均已通过。

参考资料