【发布时间】:2010-08-24 12:54:35
【问题描述】:
有时我的类中属性的字符串值会变得奇怪。它们包含非法字符,并显示如下(带框):
123[]45[]6789
我假设这些是非法/无法识别的字符。我将所有对象序列化为 XML,然后通过 Web 服务上传它们。当我再次检索它们时,一些字符被替换为奇怪的字符。使用 Word 键入的连字符和破折号最常发生这种情况。这是它的原因吗?
无论如何我可以通过正则表达式或其他方式检查字符串是否包含任何这些无法识别的字符?
【问题讨论】:
-
你是什么意思'显示这样'?显示在哪里 - 调试时?
-
@cofiem 假设我“下载报告”并将值放回文本框中,它们会像上面那样出现(有时,并非总是如此)。
-
我认为他的意思是他的编码不能识别字符,所以它们显示为框。
-
@snow:您能否更具体地了解您下载报告的情况?似乎在你得到你的字符串之前涉及一个完整的过程,并且需要检查链中的每个链接。
-
@Abel 我们在 SQL Server 中存储一个 xml 字符串。用户将通过 Web 服务下载该 XML 字符串并将对象反序列化回其原始状态。这在很大程度上是“下载”。
标签: c# regex web-services xml-serialization illegal-characters