如何在c#中解码特殊字符(空白方块不可读)?

时间:2012-03-26 09:04:16

标签: c# replace character

我有一个问题,我可以设法解决,我需要替换不可读的字符(我不能粘贴在这里,因为它没有被考虑到帐户,但它在可视化C#调试器中显示为空白方块。

当这些被插入sql数据库时,它们被替换为?但我不想要它...我试图在字符串上做一个简单的替换,但是视觉c#使这些字符的粘贴变得不可能。

2 个答案:

答案 0 :(得分:0)

你做不到。当您看到红色方块时,您已经丢失了相关的字符信息,并且无法将其转换回来。

答案 1 :(得分:0)

如果您只知道unicode字符代码,则可以替换任何字符:

s = s.Replace('\u0080', ' ');

您可以使用正则表达式替换一组允许字符之外的任何字符:

s = Regex.Replace(s, @"[^0-9A-Za-z]", " ");

另一种方法是在数据库中使用unicode数据类型,以便它可以处理字符串中的任何字符。