我正在嘗試獲取被防火墻隱藏的隱藏電子郵件。我在 python 中找到了解決方案,但我不知道在 dart 或 flutter 中執行此操作。這是python代碼
r = int(encodedString[:2],16)
email = ''.join([chr(int(encodedString[i:i 2], 16) ^ r) for i in range(2, len(encodedString), 2)])
return email
print cfDecodeEmail('543931142127353935313e352e7a373b39') # usage
uj5u.com熱心網友回復:
在 Python 中,
encodedString[:2]/encodedString[i:i 2]從encodedString. Dart 等效項(假設為 ASCII 字符)分別為encodedString.substring(0, 2)和encodedString(i, i 2)。''.join(list)Dart中 Python 的等價物是list.join().Dart 中Python 的串列推導 (
[i for i in items]) 的等價物是 collection-for:[for (var i in items) i]。for i in range(2, len(encodedString), 2)Dart中 Python 的等價物是使用for帶有 start、condition 和 increment: 的基本回圈for (var i = 2; i < encodedString.length; i = 2)。在 Python 中,
int(string, 16)決議string為十六進制數。在 Dart 中,使用int.parse(string, radix: 16).在 Python 中,
chr(integer)從指定的代碼點創建一個字串。Dart 中的等價物是String.fromCharCode(integer).
把它們放在一起:
String cfDecodeEmail(String encodedString) {
var r = int.parse(encodedString.substring(0, 2), radix: 16);
var email = [
for (var i = 2; i < encodedString.length; i = 2)
String.fromCharCode(
int.parse(encodedString.substring(i, i 2), radix: 16) ^ r,
)
].join();
return email;
}
void main() {
// Prints: [email protected]
print(cfDecodeEmail('543931142127353935313e352e7a373b39'));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/497271.html
上一篇:在dart中提供函式背景關系
