PDA

Դիտել ողջ տարբերակը : Cyclic redundancy check (CRC)



_DEATH_
30.03.2008, 13:19
Ժող մի հատ պրոբլեմ կա, ինձ պետքա ֆայլի crc32-ն իմանալ ծրագրի միջոց հեռախոսի մեջ, քանի որ zip-ը օգտագործումա, zlib գրադարանի մեջ ֆունկցիա կա crc32 հաշվող, բայց հաշվելու համար պետքա ամբողջ ֆայլը RAM-ում լինի, որպես string: Բայց RAM-ը մեծ ֆայլերի համար տենց չի բավականացնի: Ինչոր ուրիշ եղանակ կա crc-ն հաշվելու համար??

_DEATH_
30.03.2008, 14:55
Էս ծրագրավորողները արդեն կարմիր գրքում են՞ :(

arnix
31.03.2008, 02:05
Էս ծրագրավորողները արդեն կարմիր գրքում են՞ :(

Լավ կլիներ, եթե գրեիր, թե ինչ platform-a (Window CE/Mobile, Symbian կամ ուրիշ) և ինչ լեզվով ես ուզում։ Եթե zlib-ի կոդն ես նայել ենթադրում եմ, որ C: Էդ դեպքում դժվար չի լինի C++-ից convert անել, վերցրու... (քեզ պետքա unsigned long CCRC32::FileCRC(const char *sFileName) ֆունկցիան)

_DEATH_
31.03.2008, 13:18
Լավ կլիներ, եթե գրեիր, թե ինչ platform-a (Window CE/Mobile, Symbian կամ ուրիշ) և ինչ լեզվով ես ուզում։ Եթե zlib-ի կոդն ես նայել ենթադրում եմ, որ C: Էդ դեպքում դժվար չի լինի C++-ից convert անել, վերցրու... (քեզ պետքա unsigned long CCRC32::FileCRC(const char *sFileName) ֆունկցիան)

Մերսի, բայց իմ ուզածը էս չէր :), platform-ը Symbian-ա, լեզուն Python:
binascii-ի մեջ էր իմ ուզած ֆունկցիան, բայց հետո հասկացա որ zlib-ն էլա նույն ձև լինում:
crc32=binascii.crc32('hello')
crc32=binascii.crc32('world',crc32)
Բացի դրանից հաշվելու ձևն էլ իմացա, առանձ էտ ֆունկցիայի էլ մասերով կարամ հաշվեմ:
Լավ բանա CRC-ն մի բայթ փոխում եմ ֆայլի մեջ, խայտառակ ձևի CRC-ն փոխվումա: