【发布时间】:2021-11-09 19:04:25
【问题描述】:
我是 C++ 初学者,我需要将某种文件转换为字符串。 我必须转换的文件扩展名是 mp3、avi、png、pdf、xls。
我可以使用任何单一的方法将任何类型的文件转换为字符串吗?目的是应用加密/解密算法。
【问题讨论】:
-
图片转换成字符串是什么意思?您期望/要求什么作为输出? “这是莉娜的照片。”?
-
该字符串不是加密/解密所必需的。你想加密一个 mp3 吗?你知道你应该使用什么算法吗?
-
字符串不是您要查找的内容。似乎您想以二进制模式打开文件,将再见读入内存,然后对它们进行处理。搜索这类术语。
-
虽然可以将二进制文件读入
std::string,但加密操作的是字节,而不是字符串。因此,如果您有将二进制数据作为字符串作为输入的加密代码,请找到更好的加密代码。 -
混淆点很可能是一个类似于
int encrypt(const char * input, int len, char * output, int maxlen)的函数。由于char始终是一个字节,因此您经常会看到看起来像是在使用实际上需要二进制信息的字符串的函数。他们真的应该要求unsigned char *或uint8_t *,但旧习惯很难改掉,旧 API 永远不会消亡。无论如何,char *只是一个以 nul 字符结尾的字符串。