gpt4 book ai didi

c# - 比较两个 ByteArrays C#

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

我有一个测试,将字节数组(图像 - jpg)上传到我们的数据库(Sql Server FileStream),然后通过 HttpHandler 检索它。接下来我比较两者。

现在,除了前四个字节外,它们几乎相同......

前四个字节是什么?

第一个 byteArray : 255, 216, 255, 224,从这里开始他们是一样的

第二个字节数组:63, 63, 63, 63 ...

当处理程序从数据库中检索时,字符串会像这样转换为字节数组

更新

StringWriter writer;
SimpleWorkerRequest worker;

writer = new StringWriter();
worker = new SimpleWorkerRequest(page, query, writer);
HttpRuntime.ProcessRequest(worker);
writer.Flush();

var encoding=new ASCIIEncoding();
var blob = encoding.GetBytes(writer.GetStringBuilder().ToString());

return blob;

最佳答案

如果你想知道为什么会出现这种情况,这是因为 ASCII 编码无法处理 128 以上的字符。前四个字符被转换为 '?'。

由于字节数组中有图像,因此不应尝试将其转换为文本以比较两个数组。为了比较起见,您应该遍历所有字节并打印它们的值。最好为此使用十六进制表示法。

关于c# - 比较两个 ByteArrays C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1907773/

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