我正在尝试比较这两个字符串Cpt. Awesome â\u0084¢
和Cpt. Awesome ™
它们本质上是相同的,但在一个字符串中,商标字符的编码方式不同。我想知道如何编码它们以便它们变得平等。
我尝试使用相同的编码对它们进行重新编码,但结果仍然相同。
答案 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¢
映射到™
,因为只是编码和解码不会给你什么正在寻找。