我有一個從圖像轉換而來的base64字符串(源字符串),我需要一個代碼將該字符串與Web服務上的另一個base64字符串進行比較,並檢查哪個字符串與源字符串最相似,即我使用的語言是C#,任何人都可以幫助我?如何比較兩個base64字符串?
2
A
回答
3
您可以輕鬆比較字符串,也可以通過在每端使用MD5校驗和來節省一些帶寬。
找到「最相似之處」就是算法的實現。只有你知道「最相似之處」的含義。
0
如果你正在尋找的總位數是不同的,你可以使用這樣的事情:
private long Base64BitsDifferent(string first64, string second64)
{
long toReturn = 0;
byte[] firstBytes = Convert.FromBase64String(first64);
byte[] secondBytes = Convert.FromBase64String(second64);
byte different = 0;
for (int index = 0; index < firstBytes.Length; index++) {
different = (firstBytes[index]^secondBytes[index]);
while (different != 0) {
toReturn++;
different &= different - 1;
}
}
return toReturn;
}
假設兩個Base64編碼字符串表示的字節數是相等的。
相關問題
- 1. 如何比較兩個w_char []字符串
- 2. 如何比較兩個字符串
- 3. 如何比較兩個Q字符串?
- 4. Javascript如何比較兩個字符串
- 5. 如何比較兩個字符串?
- 6. 比較兩個字符串[]
- 7. 比較兩個字符串?
- 8. 比較兩個字符串
- 9. 比較兩個字符串,如日期
- 10. C++比較兩個字符串文字
- 11. 比較兩個數字字符串值
- 12. 比較兩個字符串由字母
- 13. 比較兩組字符串
- 14. 比較字符串兩場
- 15. 如何比較字符串中的兩個字符?
- 16. 逐字比較.NET中兩個字符串的比較
- 17. 如何比較的百分比計算兩個字符串
- 18. PHP不能比較兩個「字符串」
- 19. 比較兩個XML字符串
- 20. 比較兩個字符串與Android
- 21. 兩個字符串然後比較
- 22. 比較兩個寬字符串visual C++
- 23. Java excel - 比較兩個字符串
- 24. 比較兩個字符串的含義
- 25. lex yacc比較兩個字符串
- 26. 比較兩個字符串C#?
- 27. 比較ruby中的兩個字符串
- 28. 比較兩個字符串,刪除
- 29. 比較C++中的兩個字符串
- 30. 比較兩個字符串列表.CSV
您是否試圖確定圖像是*確切*匹配還是近距離匹配?您只能通過比較base64字符串來確定*確切*匹配。 – cfeduke
請定義「與源字符串最相似」的含義。它可能是[Levenshtein距離](http://en.wikipedia.org/wiki/Levenshtein_distance),但你也提到了圖像...... –
@cfeduke,問題說「比較字符串」,所以「類似」也是可能的(但正如你所指出的,這可能不是OP想要的)。 –