我有一个文本文件中的单词列表,我想对每个单词执行leet。例如,如果我有“你好”这个词,这将变成'5E11O'。换句话说,程序应该能够自动替换单词中的每个字母。如何用Python执行leet?
请问这可能吗?谢谢
我有一个文本文件中的单词列表,我想对每个单词执行leet。例如,如果我有“你好”这个词,这将变成'5E11O'。换句话说,程序应该能够自动替换单词中的每个字母。如何用Python执行leet?
请问这可能吗?谢谢
它完全取决于你如何定义leet。
如果是简单的1:1翻译每个字符,如H->5, e->E, l->1, l->1, o->0
为了翻译Hello
→5E11O
这并不难。使用string.maketrans将此字符定义为字符翻译。
更困难的是如果您希望支持更完整的子集orthographies,如hacker-lingo
- >l33tsp33k
,这也涉及缩短字符数。
有各种各样的leet源代码的努力。尝试一个。看看鞋子是否合适。我不认为leet已经通过ISO标准化了......; - }
下面是一系列一系列一对一替换系列的方法。请注意在字母转换之前如何应用“整个单词”转换。
replacements = (('hacker','haxor'), ('elite','eleet'), ('a','4'), ('e','3'),
('l','1'), ('o','0'), ('t','+'))
my_string = "I am an elite hacker."
new_string = my_string
for old, new in replacements:
new_string = new_string.replace(old, new)
print (new_string)
给出:
I 4m 4n 3133+ h4x0r.
一个有趣的扩展是允许一些替代多种选择。例如,字符l
可以呈现为数字1
或管道符号|
。
我猜easies是使字符集,并把它转换
from utilitybelt import change_charset
origspace = "abcdefghijklmnopqrstuvwxyz"
keyspace = "abcd3fgh1jklmnopqr57uvwxyz"
print(change_charset("leetspeak",origspace, keyspace))
#l3375p3ak
我敢肯定,实际上说的“Sello的”,而不是“HELLO”,J0。 – detly
是的,这是可能的。你已经知道python了吗? – Teak
我不知道那么多有关python,但不幸的是,因为我仍然是一个初学者,但我愿意学习:) – Matthew