我一直在轉換一個Python腳本到C#,我99%有,但我無法理解下面這段代碼的Python到C#解釋
# The lower 8-bits from the Xorshift PNR are subtracted from byte
# values during extraction, and added to byte values on insertion.
# When calling deobfuscate_string() the whole string is processed.
def deobfuscate_string(pnr, obfuscated, operation=int.__sub__):
return ''.join([chr((ord(c) operation pnr.next()) & 0xff) for c in obfuscated])
能否請您解釋一下上面的代碼? operation pnr.next()
做什麼?如果您可以幫助將此方法轉換爲C#,那會更好,但對上述內容的解釋會很棒。
完整的源可以在
https://raw.githubusercontent.com/sladen/pat/master/gar.py
無效Python代碼,很遺憾。我可以看到它應該做什麼,但Python不能像那樣工作。 –
嗨丹尼爾,這是從github .py文件複製,鏈接包含在原始文章中。這段代碼應該做什麼?如果你不會介意 – LoanRanger
'operation'被定義爲'INT .__ sub__',所以它應該是等同於'ORD(C) - pnr.next()'。這是否更清晰?正如我所說,這在Python中不起作用;也許作者習慣了Scala之類的東西。 –