0

假设我有一个带有密码保护的 .xlsx 文件,我想将其转换为字符串格式,然后当能够将字符串重建回原始 .xlsx 文件时,保留所有属性(例如密码保护。 ..)

我尝试将扩展名从 .xlsx 更改为 .txt,传输 .txt 的字符串内容,然后将 .txt 更改回 .xlsx ......但文件会损坏......有什么想法吗?

我希望我的问题足够清楚!

谢谢

4

2 回答 2

1

将文件编码为 base64 格式。比将其解码为以前的任何内容。

于 2020-08-29T12:41:47.213 回答
1

我想把它转换成字符串格式

首先,我鼓励你要这样做,除非你真的需要。你做的转换越多,出错的空间就越大。

但是,如果您真的需要,这并不是很难做到- 您正在寻找的是base64 编码,它可以获取任意二进制数据并将其编码为 ASCII 文本 - 然后您可以将文本解码回二进制数据。

这是执行此操作的示例 C# 代码:

public static void Base64EncodeFile(string inputFile, string outputFile)
{
    byte[] data = File.ReadAllBytes(inputFile);
    string text = Convert.ToBase64String(data);
    File.WriteAllText(outputFile, text);
}

public static void Base64DecodeFile(string inputFile, string outputFile)
{
    string text = File.ReadAllText(inputFile);
    byte[] data = Convert.FromBase64String(text);
    File.WriteAllBytes(outputFile, data);
}
于 2020-08-29T12:42:57.820 回答