python代码如何转成c代码_Python到C的代码转换
我正在尝试将下⾯的python代码⾏转换为C#:encoded_c = chr(abs(ord(string[i]) - ord(key_c) % 256))
这是我在C中得到的:
^{pr2}$
但是,它不会返回相同的结果。我认为这与(int)铸件有关,但当我试图搜索ord()或(int)的其他⽅法时,它们似乎不起作⽤。在
作为参考,以下是整个代码块:
Python: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 = new List();
byte[] data = Convert.FromBase64String(message);
string decodedString = Encoding.UTF8.GetString(data);
data = Convert.FromBase64String(decodedString);
decodedString = Encoding.UTF8.GetString(data);
foreach (int i in Enumerable.Range(0, decodedString.Length))
{
char key_c = key[i % key.Length];
char encoded_c=(char)Math.Abs((int)decodedString[i] - (int)key_c % 256); //this line doesnt return what it's supposed to decoded_chars.Add(encoded_c);
}
string decoded_string = string.Join("",decoded_chars);
return decoded_string;
}
执⾏C#函数时:Console.WriteLine(t.basic_decode("test", "NGNybTU5WE0yQT09"));python新手代码图案如何保存
注意:NGNybTU5WE0yQT09:是⼀个使⽤encode函数编码的编码字符串(在python版本中,它可以完美地编码和解码)。在
它回来了
是吗?在
是吗?在
是吗?在
是吗?在
是吗?在
是吗?在
是吗?在
65417654326518654765417643265418
问号是指:Console.WriteLine(encoded_c);
它位于字符编码的。。。。代码⾏
什么时候print basic_decode("test","NGNybTU5WE0yQT09")执⾏时,返回:
⽶
e
s
s
a
g
e
消息
消息是正确的解码消息
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论