gpt4 book ai didi

c# - 比较两个 utf-8 编码字符串的 byte[] 是否与比较两个 unicode 字符串相同?

转载 作者:太空狗 更新时间:2023-10-29 18:12:45 25 4
gpt4 key购买 nike

我在关于 utf-8 的维基百科文章中找到了这个:

Sorting of UTF-8 strings as arrays of unsigned bytes will produce the same results as sorting them based on Unicode code points.

这会让我相信,出于比较目的(排序、二进制搜索等),比较 utf-8 编码字符串的两个字节数组(即像 memcmp 一样逐字节)会给出与比较 utf-8 编码字符串相同的结果实际的 unicode 字符串。

这是真的吗?

最佳答案

是的,假设 UTF-8 编码的序列字节与 Unicode 代码点之间存在一对一的映射。

但是,除了查看原始代码点之外,还有其他方法可以比较 Unicode 字符串。如果您只是将代码点(或 UTF-8 字节)视为数字,那么您会错过特定于文化的比较逻辑。

要针对特定​​区域性正确执行比较和排序,在 .NET 上,您应该使用标准字符串比较函数。

关于c# - 比较两个 utf-8 编码字符串的 byte[] 是否与比较两个 unicode 字符串相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3478985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com