Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在c语言中解码特殊字符(空白方块不可读)?_C#_Replace_Character - Fatal编程技术网

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

C# 如何在c语言中解码特殊字符(空白方块不可读)?,c#,replace,character,C#,Replace,Character,我有一个问题,我可以设法解决,我需要替换不可读的字符,我不能将它粘贴到这里,因为它没有纳入帐户,但它在visual C调试器中显示为一个空白方块 当这些被插入到sql数据库中时,它们将被替换为?但我不想要它。。。我试图对字符串进行简单的替换,但visual c使粘贴这些字符变得不可能。您不能。当您看到红色方块时,您已经丢失了相关的字符信息,无法将其转换回来。如果您只知道unicode字符代码,则可以替换任何字符: s = s.Replace('\u0080', ' '); 可以使用正则表达式替

我有一个问题,我可以设法解决,我需要替换不可读的字符,我不能将它粘贴到这里,因为它没有纳入帐户,但它在visual C调试器中显示为一个空白方块


当这些被插入到sql数据库中时,它们将被替换为?但我不想要它。。。我试图对字符串进行简单的替换,但visual c使粘贴这些字符变得不可能。

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

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

s = s.Replace('\u0080', ' ');
可以使用正则表达式替换一组允许字符之外的任何字符:

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

另一种选择是在数据库中使用unicode数据类型,这样它就可以处理字符串中的任何字符。

是的,这真是太棒了!更令人担忧的是,在VisualStudio2008中,我可以做一个类似的替换:mystring.replacel□,但是在VisualStudio2010中,这个方块会自动被一个空白代替。非常感谢,至少我想把这个方块转换成一个“对于可能包含这个的句子”。例如,我可以假设□爱情可以被爱情代替。所以现在我在寻找unicode的等价物,它不是\u0080@talman:是的,0080只是一个例子;一个可能的候选人。要找出要替换的字符代码,您应该了解它们存在的原因。如果可能的话,你应该查看链的前面,看看是否有编码不匹配导致这些字符首先出现在那里,这可以消除问题,而不是试图修补它。是的,我知道问题是我不能看得更早,因为我使用的api检索我的文本,我没有办法改变任何东西,我只是在检索文本。好吧,我想我会有很长的路要找到匹配的,离开…最后我找到了一个方法来检索感谢这个网址,如果它可以帮助其他人!