【问题标题】:c++ convert files into stringc ++将文件转换为字符串
【发布时间】: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 字符结尾的字符串。

标签: c++ fstream


【解决方案1】:

将二进制数据表示为字符串的常用方法是Base64

必须有一些现成的实现。

【讨论】:

  • 我不相信任何人都可以在不澄清信息的情况下有效地回答原始问题。我们可以整天对他们使用不同的二进制编码,但我们不知道这是否能解决他们的问题。
  • @JohnFilleau 我倾向于同意你的观点。只是回答了所问的问题,而不对 OP 的需求做出假设。也因此被否决了:)
  • @user4581301 :) 这就是为什么我这次没有这样做
猜你喜欢
  • 1970-01-01
  • 2011-02-18
  • 1970-01-01
  • 2012-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-03
相关资源
最近更新 更多