stripcslashes() 在较长的字符串中查找 "\x" 类型的元素(其中 'x' 可以是任何字符,或者可能是多个字符)。如果 'x' 没有被识别为有意义,它只会删除 '\' 但如果它确实将其识别为有效的 C 样式转义序列(即 "\n" 是换行符; "\t" 是制表符,等等。 ),据我了解,会插入已识别的字符: \t 将替换为字符串中的制表符(我认为是 0x09)。
我不知道有任何简单的方法可以让 .net 框架做同样的事情,而无需自己构建类似的功能。这显然不是很难,但您需要知道要处理哪些转义序列。
如果您碰巧知道(或通过检查您的 base64 文本发现)您的输入中唯一需要处理的是特定的一两个序列(例如制表符),那么它变得非常容易,下面的代码片段显示了使用String.Replace():
string input = @"Some\thing"; // '@' means string stored without processing '\t'
Console.WriteLine(input);
string output = input.Replace(@"\t", "\t");
Console.WriteLine(output);
当然,如果你真的只是想删除所有的斜线:
string output = input.Replace(@"\", "");