gpt4 book ai didi

c# - 将非数字字符转换为 int?

转载 作者:太空狗 更新时间:2023-10-30 00:03:11 24 4
gpt4 key购买 nike

我今天遇到了这行代码:

int c = (int)'c';

我不知道您可以将 char 转换为 int。所以我测试了一下,发现 a=97, b=98, c=99, d=100 等等...

为什么 'a' 是 97?这些数字与什么有关?

最佳答案

其他人(到目前为止)都提到了 ASCII。这是一个非常有限的 View - 它适用于 'a' , 但不适用于任何带有重音等的东西 - 这可以很容易地用 char 表示.

A char只是一个无符号的 16 位整数,即 UTF-16 代码单元通常这相当于一个 Unicode 字符,但并非总是如此 - 有时一个完整字符需要多个代码单元。请参阅 System.Char 的文档了解更多详情。

char 的隐式转换至 int (您的代码中不需要强制转换)只需以自然、无损的方式将该 16 位无符号整数转换为 32 位有符号整数——就像您有一个 ushort 一样。 .

请注意,ASCII 中的每个有效字符在 UTF-16 中都具有相同的值,这就是为什么当示例仅来自 ASCII 集时,这两者经常会混淆。

关于c# - 将非数字字符转换为 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15906273/

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