gpt4 book ai didi

c# - 将文件(字节数组)的字符串表示形式转换回 C# 中的文件

转载 作者:太空宇宙 更新时间:2023-11-03 21:42:14 24 4
gpt4 key购买 nike

如标题所示,我正在尝试将字节数组的字符串表示形式转换回原始文件,其中字节被获取。

我做了什么:

我有一个获取整个文件并发送它的网络服务:

answer.FileByte = File.ReadAllBytes(@"C:\QRY.txt");

在传输结果 xml 中序列化后,我有这一行:

<a:FileByte>TVNIfGF8MjAxMzAxMDF8YQ1QSUR8YXxhfGF8YXxhfGF8YXwyMDEzMDEwMXxhfGF8YXxhfGF8YXxhfGF8YXxhfGF8YXxhDVBWMXxhfGF8YXxhfGF8YXxhfGF8YXxhfDIwMTMwMTAxfDIwMTMwMTAxfDB8MHxhDQo=</a:FileByte>

我试图在另一个简单的应用程序中用这一行将它转换回来:

//filepath is the path of the file created
//bytearray is the string from the xml (copypasted)
File.WriteAllBytes(filepath, Encoding.UTF8.GetBytes(bytearray));

自从 xml 声明使用此字符集后,我就使用 UTF8 作为编码。保留数据类型不是一种选择,因为我正在编写一个简单的实用程序来检查文件转换。

也许我遗漏了一些非常基本的东西,但我无法想出一个可行的解决方案。

最佳答案

这肯定不是 UTF8,序列化程序可能将其转换为 Base64。

使用 Convert.FromBase64String() 获取字节数

假设 bytearray 是 "TVNIfGF8M..." 字符串,尝试:

string bytearray = ...;
File.WriteAllBytes(filepath, Convert.FromBase64String(bytearray));

关于c# - 将文件(字节数组)的字符串表示形式转换回 C# 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18766571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com