C# 如何在c语言中解码特殊字符(空白方块不可读)?
我有一个问题,我可以设法解决,我需要替换不可读的字符,我不能将它粘贴到这里,因为它没有纳入帐户,但它在visual C调试器中显示为一个空白方块C# 如何在c语言中解码特殊字符(空白方块不可读)?,c#,replace,character,C#,Replace,Character,我有一个问题,我可以设法解决,我需要替换不可读的字符,我不能将它粘贴到这里,因为它没有纳入帐户,但它在visual C调试器中显示为一个空白方块 当这些被插入到sql数据库中时,它们将被替换为?但我不想要它。。。我试图对字符串进行简单的替换,但visual c使粘贴这些字符变得不可能。您不能。当您看到红色方块时,您已经丢失了相关的字符信息,无法将其转换回来。如果您只知道unicode字符代码,则可以替换任何字符: s = s.Replace('\u0080', ' '); 可以使用正则表达式替
当这些被插入到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检索我的文本,我没有办法改变任何东西,我只是在检索文本。好吧,我想我会有很长的路要找到匹配的,离开…最后我找到了一个方法来检索感谢这个网址,如果它可以帮助其他人!