比较文字但字符不同

时间:2015-07-17 17:55:32

标签: c# text character-encoding

我正在尝试比较这两个字符串Cpt. Awesome â\u0084¢Cpt. Awesome ™它们本质上是相同的,但在一个字符串中,商标字符的编码方式不同。我想知道如何编码它们以便它们变得平等。

我尝试使用相同的编码对它们进行重新编码,但结果仍然相同。

2 个答案:

答案 0 :(得分:1)

byte[] bytes = Encoding.Default.GetBytes(myString);
myString = Encoding.UTF8.GetString(bytes);

编辑

删除非ASCII字符

s1 = Regex.Replace(s1, @"[^\u0000-\u007F]", string.Empty);
s2 = Regex.Replace(s2, @"[^\u0000-\u007F]", string.Empty);

答案 1 :(得分:1)

首先,this可能是一个值得关注的帖子。正如Jon Skeet所说,字符串没有编码,编码只在进入或来自字节数组时起作用。如果这两个字符串实际上代表了可用的数据,那么您可能需要查找存储字典的查找,以便将â\u0084¢映射到,因为只是编码和解码不会给你什么正在寻找。