文本类类型

textual.md
commit: 9af5071f876111a09ba54a86655679de83eb464c
本章译文最后维护日期:2020-11-14

类型 charstr 用于保存文本数据。

字符型(char)的值是 Unicode 标量(scalar)值(即不是代理项(surrogate)的代码点),可以表示为 0x0000~0xD7FF 或 0xE000~0x10FFFF 范围内的 32-bit 无符号字符。创建超出此范围的字符直接触发未定义行为(Undefined Behavior)。一个 [char] 实际上是长度为1的 UCS-4 / UTF-32 字符串。

str类型的值的表示方法与 [u8] 相同,它是一个 8-bit 无符号字节类型的切片。但是,Rust 标准库对 str 做了额外的假定:str 上的方法会假定并确保其中的数据是有效的 UTF-8。调用 str 的方法来处理非UTF-8 缓冲区上的数据可能或早或晚地出现未定义行为

由于 str 是一个动态尺寸类型,所以它只能通过指针类型实例化,比如 &str