首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用某物的ASCII值

如何使用某物的ASCII值
EN

Stack Overflow用户
提问于 2011-09-18 23:21:27
回答 2查看 1.2K关注 0票数 0

我希望从只有一个字符(例如"C“)的file.txt中获取一个字符,并使用它的ASCII值来转换另一个文件2.txt并对其进行更改。例如

C值= 67

file2.txt具有:

代码语言:javascript
运行
复制
Hello
World

我希望它改变每个字符并将其转换为:

使用"C“ASCII值添加H的ASCII值,并将其除以2,从而得到另一个ASCII值,这将是它将要生成的新文件上的新字符。

因此,新文件将被印为"dlroW olleH“,为每个字符添加新的ASCII值,就像加密一样。

我怎么能做到这一点没有任何花哨的命令。

我在这里的主要问题是:

  1. 如何获取ASCII值并将它们混合在一起?
  2. 如果有一个135.5,当它的除数总是较高的数字(136)或较低的数字(134),因为据我所知,没有一个ASCII字符的值为67.75。
  3. 我怎么做才能使新文件都是向后的?新文件应印成.txt文件。

因此:

代码语言:javascript
运行
复制
file.txt --> Key 
file1.txt -->file to be encrypted
file3.txt encrypted file.
EN

Stack Overflow用户

回答已采纳

发布于 2011-09-18 23:26:27

1.)如何获取ASCII值并将它们混合在一起?

然而,这被称为转位密码

除法(chr1 + chr2)/2是一个不可行的建议(正如Jonathan所说,不可逆转),因为您将从chr2中丢弃最低位。无论您如何进行四舍五入,请考虑您的加密将将26个值{'A','B','C',…‘Z’}映射到13 (或14)。这不是双射,你会失去信息。

所以别再做组织了。

代码语言:javascript
运行
复制
char transpose = whatever;
int transpose_offset = transpose-'A';
char encrypt(char in, int transpose_offset) {
   return ((in-'A') + transpose_offset) % 26 + 'A';
}

(除以2等于右>> 1,而不是那样,你可以通过循环移位来保存信息。但是无论如何,这并不能买到多少钱,用表格的方式破坏一个转位密码是很简单的。)

3.)我怎么做才能使新文件都是向后的?

很简单。要么对源文本进行反向加密,然后在执行过程中将其写出来。否则,加密前进,存储结果,并向后写出。

票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7465131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档