【发布时间】:2019-02-07 16:16:47
【问题描述】:
我有两个字符串 - 一个是从数据库中检索的,另一个是从网络上抓取的 - 然后将这两个字符串进行比较以检查是否有变化。
问题是这两个字符串看起来是相同的,这里:
https://m.atcdn.co.uk/a/media/w267h200pdfdfdf/25bc7a46fdb6499db28370ab693f230c.jpg
https://m.atcdn.co.uk/a/media/w267h200pdfdfdf/25bc7a46fdb6499db28370ab693f230c.jpg
但是,当我在每个字符串上使用 Encoding.ASCII.GetBytes() 时,它们都返回两个不同的字节数组。
这可能是什么原因造成的?
【问题讨论】:
-
它们是相同的字符串,并且它们产生相等的字节数组(至少,发布到 SO 的字符串是相同的):dotnetfiddle.net/IGnUEf。如果相同的代码使用您的字符串为您返回“False”,请在此处发布生成的字节数组。其中一个可能有一些不可见的字符,被 SO 删除了。
-
数组有何不同?
-
您是否可能无意中使用了两个数组的参考比较,而不是比较数组内的字节?
-
@Azhari 请编辑您的问题以包含您用于比较两个数组的代码
-
请分享您在两个字符串上调用
GetBytes然后比较字节的实际代码。最好是可以粘贴到 dotnetfiddle 并直接运行的东西。