JS的解密方法翻译成c#



我需要一些帮助与JS代码翻译为c#。JS代码:

function Decription(string) {
var newString = '',
char, codeStr, firstCharCode, lastCharCode;
var ft = escape(string);
string = decodeURIComponent(ft);
for (var i = 0; i < string.length; i++) {
char = string.charCodeAt(i);
if (char > 132) {
codeStr = char.toString(10);
firstCharCode = parseInt(codeStr.substring(0, codeStr.length - 2), 10);
lastCharCode = parseInt(codeStr.substring(codeStr.length - 2, codeStr.length), 10) + 31;
newString += String.fromCharCode(firstCharCode) + String.fromCharCode(lastCharCode);
} else {
newString += string.charAt(i);
}
}
return newString;
}

我在c#上进行了翻译:

private string Decription(string encriptedText)
{
string ft = Regex.Escape(encriptedText);
string text = HttpUtility.UrlDecode(ft);
string newString = "";
for (int i = 0; i < text.Length; i++)
{
var ch = (int)text[i];
if(ch > 132)
{
var codeStr = Convert.ToString(ch, 10);
var firstCharCode = Convert.ToInt32(codeStr.Substring(0, codeStr.Length - 2), 10);
var lastCharCode = Convert.ToInt32(codeStr.Substring(codeStr.Length - 2, codeStr.Length), 10) + 31;
}
}
}

但是我怎么翻译这一行呢:

newString += String.fromCharCode(firstCharCode) + String.fromCharCode(lastCharCode);

也许你知道c#中String.fromCharCode()的等效方法吗?

给你:

public static void Main()
{
// from 97 to a
int i = 97;
Console.WriteLine(StringFromCharCode(97));
}
public static string StringFromCharCode(int code) => ((char)code).ToString();

演示请注意,在您的情况下,您可能希望使用StringBuilder而不是连接string

与c#中的Int到Char相关(读一下)。它包括一个关于cast与Convert.ToChar)的很好的评论

您可以简单地使用Convert.ToChar方法,Convert.ToChar(97)将返回a

相关内容

  • 没有找到相关文章

最新更新