Chiba Logo CHIBA v0.6.13
CHIBA blog RSS feed
CHIBA / DOCS / LEVEL-1 SPEC

UTF-8 语义与 Codepoint 级规则

这里集中展示 CHIBA level-1 specification,覆盖 core language、control flow、memory、patterns、IR lowering 与 package system 等实现边界。

The docs surface keeps CHIBA level-1 specification pages browsable inside the site, with direct paths into language, control flow, memory, pattern, and lowering rules.

UTF-8 语义与 Codepoint 级规则

语法

该条目描述字符串和字符相关文本的编码假设。

语义

level-1 把源文本固定为 UTF-8。

str / String 保持 UTF-8 不变量;cstr 作为 ABI 边界类型,单独处理。

字符串主索引与主切片语义不按 codepoint 计数,而按字节区间工作,并要求边界落在合法 UTF-8 codepoint 边界上。

codepoint 级操作通过显式 API 提供,例如 codepoint_atcodepoint_len;它们不改变主 indexing / slicing 的语义。

Usage

let text = "你好a"
let bytes = text.bytes_len()
let points = text.codepoint_len()

注释:这个例子刻意把字节长度与 codepoint 长度分开写,说明规范必须区分“UTF-8 编码后的字节数”和“文本层可见字符单元”的 API 语义。

let first = text.codepoint_at(0)
let slice = text.codepoint_slice(0, 2)

注释:codepoint_at 是显式的文本 API;它不等价于主 indexing。level-1 把 byte/boundary 语义和 codepoint API 明确分开。

边界

regex、chibalex 等文本工具应在“UTF-8 文本 + 显式 codepoint API”的前提上对齐,而不是把字符串本体退回任意字节串模型。