ÓÃpythonʵÏÖcrc32Çó×Ö·û´®Ð£ÑéÂë
תÌû£º
http://blog.csdn.net/wyingquan/archive/2008/12/20/3561094.aspx
ÓÃpython×Ô´øµÄbinasciiÄ£¿é¼ÆËã×Ö·û´®µÄУÑéÂ룬³öÀ´µÄÊǸºÖµ£¬ÓëÓÃcдµÄ³ÌÐòµÃ³öµÄУÑéÂë²»Ò»Ñù£¬ËùÒÔ¾ÍÑо¿ÁËһϡ£·¢ÏÖ±ðÈËÓõÄpython3.0°æ±¾binasciiÄ£¿é¼ÆËã³öµÄcrc32УÑéÂëÊÇÎÒÏëÒªµÄ£¬Ã»°ì·¨Ö»ºÃ×Ô¼ºÓÃpythonʵÏÖÒ»ÏÂcrc32µÄËã·¨ÁË¡£·¢ÏÖËã·¨ºÜ¼òµ¥£¬¾ÍÊÇijЩʵÏÖÀïÃæÅªÁ˺ü¸¸öº¯Êýµ¹¸ã¸´ÔÓÁË£¬Æäʵ°´ºËÐÄËã·¨Ëã·¨×ßÒ»±ßºÜÈÝÒ×¾ÍÀí½âºÍÓ¦ÓÃÁË¡£
ÒòΪֱ½Ó´Óc³ÌÐòת¹ýÀ´µÄ£¬½á¹û·¢ÏÖpython2.5£¨ÎÒÓõİ汾ActivePython 2.5.2.2 (ActiveState Software Inc.) based on
Python 2.5.2 (r252:60911, Mar 27 2008, 17:57:18) [MSC v.1310 32 bit (Intel)] on win32)ÀïÃæµÄ°´Î»È¡·´¾¡È»²»Êǰ´Î»È¡·´£¬ÍøÉÏËѳöºÃ¶àÎÄÕ¶¼Ëµ¡«ÔÚpythonÖÐÊǰ´Î»È¡·´£¬×Ô¼º²âÊÔÁËÏ£º
>>> ~3,~2,~1,~0,~-1,~-2,~3
(-4, -3, -2, -1, 0, 1, -4)
²Å»ÐÈ»´óÎò£¬ÔÀ´ÊÇÕâÀï³ö´íÁË¡£
ÔÙ¿´£º
>>> import binascii
>>> binascii.crc32("ÎÒÃÇ")
-603163415
Èç¹û°ÑÏÂÃæ´úÂëµÄµ¹ÊýµÚ¶þÐÐ
dwCrc32 = dwCrc32 ^ 0xFFFFFFFFL
¸Ä³É
dwCrc32 = ~dwCrc32
È»ºóÔËÐУºmycrc32("ÎÒÃÇ") µÃµ½½á¹ûÒ²ÊÇ-603163415
ËùÒÔ»³ÒÉpython2.5ÀïÃæÊDz»ÊÇÒ²ÖÐÁËÕâ¸öÏÝÚåÁË¡£
ÓÃÏÂÃæµÄ´úÂëµÃµ½µÄ¾ÍºÍc´úÂë¼ÆËãµÃµ½µÄcrc32УÑéÂëÒ»ÖÂÁË¡£²»¹ýpythonÖ§³ÖµÄÕýÊýÒª±ÈcµÄ´ó£¬ËùÒÔ°´Î»Çó·´ÕâÀïÖ»Äܱ£Ö¤32λÇé¿öϵõ½ºÍc´úÂëÒ»ÑùµÄУÑéÂë¡£
#coding=gbk
def mycrc32(szString):
m_pdwCrc32Table = [0 for x in range(0,256)]
dwPolynomial = 0xEDB88320;
dwCrc = 0
for i in range(0,255):
dwCrc = i
for j in [8,7,6,5,4,3,2,1]:
if dwCrc & 1:
dwCrc = (dwCrc >> 1) ^ dwPolynomial
else:
dwCrc >>= 1
&nb
Ïà¹ØÎĵµ£º
ÀµÓºÆ(http://blog.csdn.net/lanphaday) Òë
ÒëÕß°´£ºPython¡¢luaºÍrubyÔÚC/C++ÊÇÈÕ½¥Ê½Î¢µÄÇé¿öÏ£¬ÔÚjava/.netµÄΧ¼ßÖÐŬÁ¦¿¹ÕùµÄÈý¸öµ±ºìСÉú¡£ÔÚTom GutschmidtµÄÖø×÷¡¶Game Programmng with Python, Lua and Ruby¡·Ò»ÊéÖУ¬½éÉÜÁËÈýÖÖÓïÑÔÔÚÓÎÏ·ÖеÄÓ¦Óã¬ÆäÖÐÓÈΪÁ˲»ÆðµÄÊÇÔÚÊéÖÐ×îºóÒ»ÕÂÖбȽÏÁËÈýÖֽű¾£¬×÷Õßà ......
ÆäʵÒì³£¾ÍÊDz»Õý³££¬¾ÍÊDz»ºÍÎÒÃÇÏëÏóÒ»ÑùÈ¥Ö´ÐС£ËüÊÇÒòΪ³ÌÐò³öÏÖÁË´íÎó¶øÔÚÕý³£¿ØÖÆÁ÷ÒÔÍâ²ÉÈ¡µÄÐÐΪ¡£Python³öÏÖÒì³££¬¾ÍÊÇÒòΪ¼ì²éÁËÒ»¸ö´íÎóʱ£¬Python½âÊÍÆ÷ÎÞ·¨¼ÌÐø¼ÌÐøÖ´ÐÐÏÂÈ¥£¬ÕâʱºòÅ׳öÁËÒì³£¡£ÍùÍùÕâ¸ö´íÎó·ÖΪÓï·¨ÉϺÍÂß¼ÉÏ(²»Éó¤Ëµ¸ÅÄ-_-! )£¬¿´¿´¼¸¸öÀý×Ó£¬×ܽáһϣº
1¡¢NameError£º³¢ÊÔ·ÃÎÊÒ»¸öÎ ......
def getText(self,nodelist):
rc=""
for node in nodelist:
if node.nodeType == node.TEXT_NODE or node.nodeType == node.CDATA_SECTION_NODE:
rc = rc + node.data
return rc
def parseXML(self,requesturl,xml):
dom = minidom.parse(requesturl)
for node in dom.getElementsByTagName('ca ......
conn = httplib.HTTPConnection(EPG_IP + ":" + HTTP_PORT)
url = FAV_URL_PARTH +"userid=" + USER_ID + FAV_DIR_MODIFY
param = '''<ps100request id="Favorite.Category.modify">
<categoryid>'''+categoryid+'''</categoryid>
<categoryname>'''+categoryname+'''</ ......