我正在尝试为字符串创建一个简单的加密方案。字符串的每个字符都有另一个ascii值。
它需要将最多246个ascii字符写入磁盘上的简单文件。
我想知道将这些特殊字符写入磁盘是否安全,或者是否会导致不良结果。谢谢你的帮助。
编辑:我正在考虑类似以下的算法:
* Convert each character of string to its integer number (hence 110 for 'n' and 122 for 'z')
* Double that number (get 220 and 244)
* Convert this to character (will get extended ascii codes)
* Save these characters to file.
使用通常的文本文件写入功能将这些extended ascii characters保存到磁盘文件是否安全?
答案 0 :(得分:0)
只有一组有限的ASCII字符。有95个可打印的字符,如'A',但也有空格字符。有33个可打印的字符,如换行,回车,NUL,还有DELETE。因此,您不能使用246个ASCII字符,因为总共只有128个字符。 ASCII严格为7位,为您提供2 ^ 7 = 128个可能的值。
即使您使用ISO 8859拉丁字符集或Windows-1252字符集,您仍然可以使用不可打印的控制字符进行处理,留下256 - 33 - 5个字符或218个字符。 Windows-1252仍然有5个未定义的字符。
您可以做的当然是将数据保存为字节。每个字节有256个可能的值(通常为0到255或-128到127)。只要你打开文件为二进制文件就没问题。
您当然可以根据需要在文件中存储任意数量的字符,直到文件系统或操作系统限制。所以我认为你没有问 。