2024-04-19 07:20:34 发布
网友
假设我有以下字符串
a = "123456" b = "#$%[{\" c = "ABCDEFG"
我需要将这三个字符串转换为具有以下属性的“d”字符串
到目前为止我所做的就是这样
到目前为止,这已经完成了前三个需求,但不能满足第三个需求,因为base64往往会使字符串变得非常大。在
我也在寻找其他解决方案
最后请注意,“模糊处理”部分由python完成,“恢复”部分由php完成。在
有什么想法吗?在
如果字符串比示例稍长,则^{} module可能很适合:
>>> import zlib >>> zlib.compress("123456789123456789") 'x\x9c3426153\xb7\xb04\x841\x00#\x01\x03\xbb' >>> zlib.decompress(_) '123456789123456789'
但是,由于格式的开销,短字符串往往会变长:
解压可以用PHP的^{}完成。在
你可以做一个简单的Caesar Cypher:
from string import printable as alphabet import string def caesar(plaintext, shift): shifted_alphabet = alphabet[shift:] + alphabet[:shift] table = string.maketrans(alphabet, shifted_alphabet) return plaintext.translate(table) shift=3 for s in ("123456","#$%[{\\","ABCDEFG"): coded=caesar(s,shift) print s print coded print caesar(coded,-shift) print
印刷品:
根据定义,字符串不会变长或变短。我已经修改了代码来处理您的示例。在
如果字符串比示例稍长,则^{} module 可能很适合:
但是,由于格式的开销,短字符串往往会变长:
^{pr2}$解压可以用PHP的^{} 完成。在
你可以做一个简单的Caesar Cypher:
印刷品:
^{pr2}$根据定义,字符串不会变长或变短。我已经修改了代码来处理您的示例。在
相关问题 更多 >
编程相关推荐