如何将我的字母索引转换回 C 中的 Ascii 代码?
how can i convert my alphabetical index back to Ascii code in C?
string plaintext = get_string("plaintext;");
for (size_t k = 0; k<strlen(plaintext); k++)
{
int n = atoi(argv[1]);
int m = plaintext[k] -'a' + 1;
printf("%d", (m + n) % 26);
}
在这段代码中,我试图加密用户输入的文本。
这:(m + n) % 26
(m 是明文的第一个字符,n 是关键)是我应该使用的 公式 .
我试过打印这个:
printf("%d", (m + n) % 26);
作为字符,但不会打印出来。当我尝试将其打印为 int 时,如上所示,它输出了一个不在 Ascii 值中的数字(例如:1294)。
我发现 将我的索引转换回 Ascii 值可以解决问题,但我不知道该怎么做。
- 请详细回答!
如果这是一个通用的 ROTN 类型的东西,那么转换回来很容易:
printf("%c", (m + n) % 26 + 'a' - 1);
您只需“撤消”之前所做的操作。
string plaintext = get_string("plaintext;");
for (size_t k = 0; k<strlen(plaintext); k++)
{
int n = atoi(argv[1]);
int m = plaintext[k] -'a' + 1;
printf("%d", (m + n) % 26);
}
在这段代码中,我试图加密用户输入的文本。
这:(m + n) % 26
(m 是明文的第一个字符,n 是关键)是我应该使用的 公式 .
我试过打印这个:
printf("%d", (m + n) % 26);
作为字符,但不会打印出来。当我尝试将其打印为 int 时,如上所示,它输出了一个不在 Ascii 值中的数字(例如:1294)。 我发现 将我的索引转换回 Ascii 值可以解决问题,但我不知道该怎么做。
- 请详细回答!
如果这是一个通用的 ROTN 类型的东西,那么转换回来很容易:
printf("%c", (m + n) % 26 + 'a' - 1);
您只需“撤消”之前所做的操作。