Unicode
Unicode是现代通用字符编码标准,UTF-8为其最常用编码方式,支持全球各语言字符,已成为现代终端的标准字符编码方案。
核心事实
时间轴 (近 90 天)
1个失败案例涉及邮箱掩码仅支持ASCII字符,当邮箱包含西里尔字母时,掩码将邮箱截断为两部分导致查询失败。
波斯语字母ی(U+06CC)与阿拉伯语字母ي(U+064A)在大多数字体中外观相同但为不同Unicode码点,ک(U+06A9)与ك(U+0643)同理。
如果一门语言采用罕见的Unicode符号、非常规的空白结构或刻意构造的歧义记号,tokenizer可能将其切分成低效甚至无意义的片段,显著增加模型理解与生成的难度。
字符 é 可以是单个标量值 U+00E9,也可以由 e 加组合重音 U+0301 两个标量值组成,但在字素簇层面它们都显示为一个字符。
Unicode 标量值指除代理对范围 U+D800–U+DFFF 之外的所有码点,Rust 的 char 类型恰好对应一个标量值。
BertNormalizer负责的预处理包括:清理文本、在汉字周围插入空格、对Unicode字符做NFD分解、去除非间距标记(去重音)、转小写。
Unicode码点空间被划分为每256个码点一页(如U+0000–U+00FF为一页),同一书写系统的字符通常落在相邻页内,其归一化行为在同页内高度一致。
基本多文种平面之外的字符(如大多数 emoji)在 ensure_ascii 转义下变成两个转义组成的代理对
语言不可读性攻击的典型手段包括用Unicode变体字符替换敏感词汇、混用多种语言、利用低资源语言绕过过滤器,以及通过多轮对话将有害意图拆散
网页和文档中的文本内容底层依然是标准的Unicode字符编码,字体只决定字符的视觉渲染而非存储
还有 10 条时间轴事件
全部知识事实 (20)
Unicode定义了多个零宽字符,如U+200B(零宽空格)、U+200C(零宽非连接符)、U+200D(零宽连接符)和U+FEFF(零宽不换行空格)
80%已验证Unicode 截至最新版本已收录超过 15 万个字符
65%待验证GB2312标准收录6,763个汉字,Unicode中的CJK统一表意文字超过9万个
90%待验证1个失败案例涉及邮箱掩码仅支持ASCII字符,当邮箱包含西里尔字母时,掩码将邮箱截断为两部分导致查询失败。
50%待验证波斯语字母ی(U+06CC)与阿拉伯语字母ي(U+064A)在大多数字体中外观相同但为不同Unicode码点,ک(U+06A9)与ك(U+0643)同理。
50%待验证如果一门语言采用罕见的Unicode符号、非常规的空白结构或刻意构造的歧义记号,tokenizer可能将其切分成低效甚至无意义的片段,显著增加模型理解与生成的难度。
50%待验证字符 é 可以是单个标量值 U+00E9,也可以由 e 加组合重音 U+0301 两个标量值组成,但在字素簇层面它们都显示为一个字符。
50%待验证Unicode 标量值指除代理对范围 U+D800–U+DFFF 之外的所有码点,Rust 的 char 类型恰好对应一个标量值。
50%待验证BertNormalizer负责的预处理包括:清理文本、在汉字周围插入空格、对Unicode字符做NFD分解、去除非间距标记(去重音)、转小写。
50%待验证Unicode码点空间被划分为每256个码点一页(如U+0000–U+00FF为一页),同一书写系统的字符通常落在相邻页内,其归一化行为在同页内高度一致。
50%待验证基本多文种平面之外的字符(如大多数 emoji)在 ensure_ascii 转义下变成两个转义组成的代理对
50%待验证语言不可读性攻击的典型手段包括用Unicode变体字符替换敏感词汇、混用多种语言、利用低资源语言绕过过滤器,以及通过多轮对话将有害意图拆散
50%待验证网页和文档中的文本内容底层依然是标准的Unicode字符编码,字体只决定字符的视觉渲染而非存储
50%待验证ASCII走私利用Unicode字符集中的特殊字符,包括零宽字符、控制字符和Unicode标签字符(U+E0000至U+E007F区间)
50%待验证这些不可见字符在大多数邮件客户端中不会被显示,但存在于文本的字节流中
50%待验证防御ASCII走私需要在邮件网关层面进行异常Unicode字符检测、字符规范化处理并剥离不可见字符和标签字符
50%待验证家庭 emoji「👨👩👧👦」由 7 个 Unicode 码点组成,即四个人物 emoji 通过三个零宽连接符(U+200D)串联而成
50%待验证URL 规范 RFC 3986 规定 URL 中只允许出现 ASCII 字符的一个子集,非 ASCII 字符必须经过百分号编码才能合法使用
50%待验证现代终端模拟器支持256色甚至24位真彩色,配合 Unicode 扩展字符集
50%待验证零宽字符是Unicode标准中一组特殊控制字符,包括零宽空格(U+200B)、零宽连接符(U+200D)、零宽非连接符(U+200C)、左至右标记(U+200E)等,视觉上完全不可见但在字节层面真实存在
50%