c# - 从字母转换为它们在字母表中的相对位置 (c#)

标签 c# alphabet

前一段时间我找到了这段代码,我想了解它是如何工作的)

int index = (int)c % 32 +1;

我已经成功地使用这一行将字母转换为数字 - 例如 a 变成了 1(A 也是如此)有人可以解释这是怎么发生的吗(我已经看过一些 base 32 但我并不聪明)?还有有没有一种简单的方法可以将整数转换回字母?

最佳答案

所有字母都有整数代码。例如 'a' 的代码是 97。所以 (int)'a' 是 97。所以 (int)'a' % 32 是1、因为英文字母少于32个,所以全部转换正确。同样巧合的是,大小写字母之间的差异是 32(例如 'a' - 'A' == 32)。所以这适用于大写字母。

要将整数转换回字母,您还可以使用整数代码。例如 'A' + index - 1 将为您提供字母表中带有数字 index 的大写字母。此外,'a' + index - 1 将给出具有相同数字的小写字母。

例如查看 ASCII 以查看符号的整数代码。

关于c# - 从字母转换为它们在字母表中的相对位置 (c#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26828915/

相关文章:

listview - flutter ListView 字母表索引

c - 将字母表写入 char *

c# - 如何判断何时在 VBA 窗口中

c# - Visual Studio 设置 : How to set vertical split view to default

c# - 为什么我的 Visual Studio 单元测试中的每个测试都会触发 TestInitialize?

java - 自定义显示字母表时的位数

react-native - React-Native 中的 Bard

c# - 如何确定云WebRole在硬盘上的位置?

c# - 如何从代码隐藏更改我的 css 文件中使用的颜色?

java - 如何使用递归方法打印 a 到 z