gpt4 book ai didi

c# - C#中字符的返回代码点

转载 作者:可可西里 更新时间:2023-11-01 02:59:19 25 4
gpt4 key购买 nike

如何返回 Unicode Code Point一个字符?例如,如果输入是“A”,那么输出应该是“U+0041”。理想情况下,解决方案应该照顾 surrogate pairs .

对于代码点,我指的是实际代码点according to Unicode ,这不同于 code unit (UTF8 有 8 位代码单元,UTF16 有 16 位代码单元,UTF32 有 32 位代码单元,在后一种情况下,在考虑字节顺序后,值等于代码点)。

最佳答案

以下代码将 string 输入的代码点写入控制台:

string input = "\uD834\uDD61";

for (var i = 0; i < input.Length; i += char.IsSurrogatePair(input, i) ? 2 : 1)
{
var codepoint = char.ConvertToUtf32(input, i);

Console.WriteLine("U+{0:X4}", codepoint);
}

输出:

U+1D161

由于 .NET 中的字符串是 UTF-16 编码的,因此需要先将构成字符串的 char 值转换为 UTF-32。

关于c# - C#中字符的返回代码点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13894021/

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