擅长:python、mysql、java
<p>这不是你的问题,但这三行是惊人的:</p>
<pre><code>final = hex(CalcCRC( str_to_crc ))[:2]
value = '%08X' % CalcCRC( str_to_crc )
final = final + value.upper()
</code></pre>
<p>假设CalcCRC返回一个非负整数(例如12345567890</p>
<p>第1行将<code>final</code>设置为“0x”,与输入无关!在</p>
^{pr2}$
<p>第2行重复调用CalcCRC!在</p>
<pre><code>>>> value = '%08X' % 1234567890
>>> value
'499602D2'
</code></pre>
<p>注意,<code>value</code>已经是<em>大写的了!在</p>
<p>在第3行之后,<code>final</code>变成“0x499602D2”</p>
<p>由于<code>value</code>不再使用,因此可以用</p>
<pre><code>final = '0x%08X' % CalcCRC(str_to_crc)
</code></pre>
<p><strong>来自环城的更多信息</strong></p>
<p>这些线条:</p>
<pre><code>quote_to_crc = re.search(r'"\w+"', crc);
str_to_crc = re.search(r'\w+', quote_to_crc.group() ).group();
</code></pre>
<p>可以替换为:</p>
<p>str_到_crc=搜索(r'“\w+”,crc).group()[1:-1]
str_到_crc=搜索(r'(\w+“),crc).组(1)</p>