<p>我试图将一个整数字符串按n个字符拆分,然后将它们转换为unicode。不幸的是,我遇到了一个问题。。。因为前导的0已经从字符串中删除,这让我很困惑如何处理它们。
下面是一个例子:</p>
<pre><code>print(num2txt(97097114103104))
</code></pre>
<p>在这里,前导97是ASCII表中的一个有效数字,我可以简单地在字符串前面加上一个“0”,这样整个字符串就可以正确地分成如下几部分:</p>
^{pr2}$
<p>但是,如果前三位数字在ASCII表中实际上是有效的呢?
像这样:</p>
<pre><code>100097114103
</code></pre>
<p>在这种情况下,我想把它分成</p>
<pre><code>['100', '097', '114']
</code></pre>
<p>但是,如果函数中发生了什么事情,如何确保不再需要“0”?在</p>
<p>我当前的代码如下:</p>
<pre><code>def num2txt(num, k=3):
line = str(num)
line = "0" + line
line = [line[i:i+k] for i in range(0, len(line), k)]
return line
</code></pre>
<p>必要时只需加前导零。在</p>
<pre><code>def num2txt(num, k=3):
line = str(num)
padding = len(line)%k
if padding:
line = '0'*(k-padding) + line
line = [line[i:i+k] for i in range(0, len(line), k)]
return line
</code></pre>