[tips] crc32 in python
python 2.X的crc32實作上跟一般的C實作上在整數有號無號的處理上略有不同, 所以使用python 2.X與一般C實作算出的crc32(如sfv)比對時,通常需要特別的方法,
這邊列出一個透過zlib.crc32快速得到所需要結果的方法:
import zlib
def crc32(st):
crc = zlib.crc32(st)
if crc > 0:
return "%x" % (crc)
else:
return "%x" % (~crc ^ 0xffffffff)
ex1 = "12345"
ex2 = "1kcaseztsa12345azy"
print "%x" % zlib.crc32(ex1)
print crc32(ex1)
print "%x" % zlib.crc32(ex2)
print crc32(ex2)
或如果你有ctypes的話:
import zlib
import ctypes
def crc32_c(st):
return "%x" % ctypes.c_uint32(zlib.crc32(st)).value
ex1 = "12345"
ex2 = "1kcaseztsa12345azy"
print "%x" % zlib.crc32(ex1)
print crc32_c(ex1)
print "%x" % zlib.crc32(ex2)
print crc32_c(ex2)
註: python 3.0以上沒有這個問題.
4 則留言:
請問一下一個關於dojo/django/apache
的安裝問題:
1.
我想要使用dojo dijit 在 django template之中, 但是apache總是沒辦法找到dojo的files.
2. 在下的環境設定為 /my_site/site_media/js/dojoXXX/
3. 請問我需要更改urls.py嗎?
4. 我有把/media/ 加在/var/www之下的setting
感謝你的解答...
基本上這個主要還是apache的設定問題, 建議你可以先安裝firebug這個firefox的plugin, 在網路這個項目裡看django在哪裡存取dojo的javascript file.
使徒提姆,距離你對我傳 Python 教中的分支 django 的時間已經過了很久了,我運用我的能力用Python 和 Visualization Toolkit 去創造東西,不知道有沒有什麼傳輸的方式可以把code 給您看?
我的 email 是 d9033075@gmail.com
Hi, tomubuntu2008 你好~
Who'sWho上的wiki是不錯的分享地方,不過何不趁這個機會申請一個部落格分享你的心得啊?
如果是自由軟體的話 也可以用google code建立一個自由軟體專案喔~~
http://code.google.com/hosting/createProject
張貼留言