stripcslashes () ищет элементы типа «\ x» в более длинных строках (где «x» может быть любым символом или, возможно, более чем одним). Если «x» не распознается как значащий, он просто удаляет «\», но если он действительно распознает его как допустимую escape-последовательность в стиле C (т. Е. «\ N» - это новая строка; «\ t» - табуляция и т. Д. ), насколько я понимаю, вместо этого вставляется распознанный символ: \ t будет заменен символом табуляции (я думаю, 0x09) в вашей строке.
Я не знаю ни одного простого способа заставить платформу .net делать то же самое, не создавая подобную функцию самостоятельно. Это, очевидно, не очень сложно, но вам нужно знать, какие escape-последовательности обрабатывать.
Если вам случится узнать (или выяснить, проверив текст 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(@"\", "");