文本类型
类型 char
和 str
用于存储文本数据。
char
类型的值是一个 Unicode 标量值 (不是编码的替代品) ,为 32 位无符号整数,位于 0x0000 到 0xD7FF 或 0xE000 到 0x10FFFF 范围之间。
创建超出范围的 char
是 未定义行为 。 [char]
是实际长度为 1 的 UCS-4 / UTF-32 字符串。
str
类型的值与 [u8]
相同,是 8 位无符号字节的切片。
但是,Rust 标准库对 str
做了一些额外的评估: 在 str
上工作的方法评估并确保其中的数据是有效的 UTF-8 。
使用非 UTF-8 缓冲区调用 str
方法可能导致 未定义行为 ,会立即触发,也可能是之后。
由于 str
是 动态大小类型 ,因此只能通过指针类型 (例如 &str
) 来实例化。