在C#中返回字符的代码点

在C#中返回字符的代码点,第1张

概述我可以返回一个字符代码点吗?例如,如果输入为“A”,则输出应为“U 0041”.请帮忙吗非常感谢. 容易,因为C#中的chars实际上是UTF16的代码点: char x = 'A';Console.WriteLine("U+{0:x4}", (int)x); 为了解决这些注释,C#中的char是一个16位数字,并且保存一个UTF16代码点. 16位以上的代码点不能在C#字符中表示位空格. C 我可以返回一个字符的代码点吗?例如,如果输入为“A”,则输出应为“U 0041”.请帮忙吗非常感谢.解决方法 容易,因为C#中的chars实际上是UTF16的代码点:
char x = 'A';Console.Writeline("U+{0:x4}",(int)x);

为了解决这些注释,C#中的char是一个16位数字,并且保存一个UTF16代码点. 16位以上的代码点不能在C#字符中表示位空格. C#中的字符不是变宽.然而,字符串可以具有彼此相邻的2个字符,每个字符是代码单元,形成UTF16代码点.如果您有一个字符串输入和高于16位空格的字符,您可以使用char.IsSurrogatePair和Char.ConvertToUtf32,如另一个答案中所建议的:

string input = ....for(int i = 0 ; i < input.Length ; i += Char.IsSurrogatePair(input,i) ? 2 : 1){    int x = Char.ConvertToUtf32(input,i);    Console.Writeline("U+{0:X4}",x);}
总结

以上是内存溢出为你收集整理的在C#中返回字符的代码点全部内容,希望文章能够帮你解决在C#中返回字符的代码点所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1259760.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存