擅长:python、mysql、java
<p>您可以使用ASCII值来执行此操作:</p>
<p>ASCII到int:</p>
<pre><code>ord('a') # = 97
</code></pre>
<p>回到字符串:</p>
^{pr2}$
<p>从那里,您可以在字符串上一次迭代一个字符,并将其存储在另一个字符串中。假设您使用的是标准ASCII字符,则需要对数字进行零填充(因为有些是两位数,有些是三位数),如下所示:</p>
<pre><code>s = 'My string'
number_string = ''
for c in s:
number_string += str(ord(c)).zfill(3)
</code></pre>
<p>要对其进行解码,您将一次读取新字符串三个字符,并将它们解码为新字符串。在</p>
<p>这假设了以下几点:</p>
<ul>
<li>所有字符都可以用ASCII表示(如果不可以,可以使用Unicode代码点)</li>
<li>您将数值<em>存储为字符串</em>,而不是实际的int类型(在Python中,这没什么大不了的,可以避免在不同系统上处理int的最大值)</li>
<li>你绝对必须有一个数值,也就是说,某种十六进制表示法(可以转换成int),密码算法就不能工作了</li>
<li>我们不是说需要以这种方式转换的文本的GB+</li>
</ul>