我正在尝试将下面的python代码行转换为C#:
encoded_c = chr(abs(ord(string[i]) - ord(key_c) % 256))
这是我在C#中得到的:
char encoded_c=(char)Math.Abs((int)decodedString[i] - (int)key_c % 256);
但是,它不会返回相同的结果。我认为这与(int)强制转换有关,但是当我尝试搜索ord()或(int)的其他方法时,它们似乎无效。
作为参考,下面是整个代码块:
蟒蛇:
def basic_decode(key,string):
decoded_chars=[]
string=base64.urlsafe_b64decode(string)
string=base64.b64decode(string)
for i in xrange(len(string)):
key_c=key[i % len(key)]
encoded_c = chr(abs(ord(string[i]) - ord(key_c) % 256))
decoded_chars.append(encoded_c)
decoded_string="".join(decoded_chars)
return decoded_string
C#:
public string basic_decode(string key,string message)
{
List decoded_chars