This commit is contained in:
krahets
2023-12-27 00:48:00 +08:00
parent e56cb78f28
commit 8d49c46234
18 changed files with 5405 additions and 37 deletions

View File

@ -92,6 +92,6 @@ UTF-8 的编码规则并不复杂,分为以下两种情况。
- Python 中的 `str` 使用 Unicode 编码,并采用一种灵活的字符串表示,存储的字符长度取决于字符串中最大的 Unicode 码点。若字符串中全部是 ASCII 字符,则每个字符占用 1 字节;如果有字符超出了 ASCII 范围但全部在基本多语言平面BMP则每个字符占用 2 字节;如果有超出 BMP 的字符,则每个字符占用 4 字节。
- Go 语言的 `string` 类型在内部使用 UTF-8 编码。Go 语言还提供了 `rune` 类型,它用于表示单个 Unicode 码点。
- Rust 语言的 str 和 String 类型在内部使用 UTF-8 编码。Rust 也提供了 `char` 类型,用于表示单个 Unicode 码点。
- Rust 语言的 `str``String` 类型在内部使用 UTF-8 编码。Rust 也提供了 `char` 类型,用于表示单个 Unicode 码点。
需要注意的是,以上讨论的都是字符串在编程语言中的存储方式,**这和字符串如何在文件中存储或在网络中传输是不同的问题**。在文件存储或网络传输中,我们通常会将字符串编码为 UTF-8 格式,以达到最优的兼容性和空间效率。

View File

@ -569,7 +569,7 @@ comments: true
if nums[m as usize] < target { // 此情况说明 target 在区间 [m+1, j) 中
i = m + 1;
} else if nums[m as usize] > target { // 此情况说明 target 在区间 [i, m) 中
j = m - 1;
j = m;
} else { // 找到目标元素,返回其索引
return m;
}