这个角色是什么?

时间:2013-03-07 10:59:19

标签: c# string character-encoding

我有一些来自Feed的文字,如下所示,有这个不寻常的字符:

新的Siri语音控制助手可让您使用语音发送信息,安排会议,拨打电话等等。 Siri了解你所说的话,知道你的意思,甚至可以回答。例如,你可以说 告诉我的妻子我迟到了 , 告诉我打电话给兽医,或者 明天天气怎么样? Siri会回答。

它是什么,如何摆脱它?我无法替换,因为我不确定它究竟是什么。

由于

3 个答案:

答案 0 :(得分:6)

这是显示的替换字符,而不是当前编码无法显示的字符。

尝试将编码切换为源Feed使用的编码。

答案 1 :(得分:3)

字符“ ”是U + FFFD REPLACEMENT CHARACTER,表示字符级数据错误。参考:Unicode标准,ch. 16,第16.8节。

现在,它似乎经常表明某些数据包含在应用的字符编码中没有意义的字节。因此它表示缺少有效的字符数据,而不仅仅是某种不正确或不可显示的字符。

典型情况是拉丁语1编码数据被解释为UTF-8编码。在您的示例中,似乎所有非Ascii字符(例如“智能”引号,撇号和可能的破折号)都变为“ ”。数据本身很可能是正确的;它只是关于其编码的信息是错误的。如果可以在程序设置中更改编码(根据其解释数据),尝试使用UTF-8可能会有所帮助。

当数据从一种编码转换为另一种编码并且数据中的字符在目标编码中没有表示时,也可能出现字符“ ”。在这种情况下,原始数据将丢失,并且需要进行猜测或返回原始编码数据以恢复信息。

答案 2 :(得分:2)

这是因为你没有正确的编码 - 这里有一个很好的阅读更详细: http://www.joelonsoftware.com/articles/Unicode.html