gpt4 book ai didi

c# - 为什么我的字符串中添加了一些意外的符号?

转载 作者:行者123 更新时间:2023-12-03 20:05:12 27 4
gpt4 key购买 nike

我编写了一个控制台应用程序,它从 Sharepoint 列表中的某些字段中获取字符串。然后我简单地将字符串写入控制台。这适用于大多数领域。有一个启用了 RichText 的 MultiLineTextField,我不得不 remove all the html-tags , 这导致了这个问题。

即使在所有标签都被删除之后,字符串似乎包含从未添加到字符串中的问号。最奇怪的是,当我设置断点并查看字符串的值时,没有问号,但它们突然出现在控制台输出中。

我唯一能想到的就是修剪字符串。因为有时它们出现在实际字符串的前面,有时它们出现在字符串的前后,但绝不会介于两者之间。

所以这就是我的尝试:

myString = myString.Trim();
myString = myString.Replace("?",string.Empty);

但这并不能解决问题。此外,如果其中一个字符串应该包含问号,这将不是一个明智的解决方案。详细代码见上面链接。

Convert.ToBase64String(Encoding.UTF8.GetBytes(myString)) 也给我以下输出:

4oCLTWVobCwgRWllciwgV2Fzc2VyLCBIYWNrZmxlaXNjaCA=

最佳答案

字符串末尾可能有一些非打印 unicode(或可能是低 ASCII)字符。控制台具有不同的编码,并且通常会呈现为 ?。基本上:使用索引器 (yourString[n]) 或 yourString.ToCharArray() 调查字符串中 位置的实际内容?.


通过编辑,我们可以看到字符串有一个zero-width space。 (十进制 8203)开头:

enter image description here

关于c# - 为什么我的字符串中添加了一些意外的符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23237530/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com