רÀûÃû³Æ£ºÒ»ÖÖµØÕðǰÕ×Êý¾ÝѹËõ´æ´¢Óë½âѹËõ¼¼ÊõµÄÖÆ×÷·½·¨
¼¼ÊõÁìÓò£º
±¾·¢Ã÷Éæ¼°ÎÒ¹úµØÕðǰÕײÉÑùÊý¾ÝÔÚÊý¾Ý¿âÖеĴ洢·½Ê½ÓëÊý¾ÝʹÓ÷½·¨£¬ÓÈÆäÊÊÓÃÓÚ¶Ô´óÊý¾ÝÁ¿¡¢¸ß²ÉÑùÂÊÊý¾ÝÔÚÊý¾Ý¿âÖнøÐÐѹËõ´æ´¢ÓëÊý¾ÝµÄ½âѹËõÌáȡʹÓá£
±³¾°¼¼Êõ£º
Ŀǰ£¬ÎÒ¹úµØÕðǰÕ×Êý¾Ý¿âµÄÔʼÊý¾Ý£¬²É¼¯×Ô¸÷µØÕðǰÕ×¹Û²âÒÇÆ÷£¬Ã¿²ÉÑùÂÊÿÌìÀÛ»ý²úÉúÒ»Ìõ¼Ç¼£¬Ö±½Ó´æ·ÅÔÚÊý¾Ý¿âÖеÄÎı¾´ó¶ÔÏó×Ö¶Î(CL0B)£¬Ê¹´æ´¢Êý¾ÝµÄ´ÅÅ̿ռäѸËÙÔö³¤£¬Êý¾Ý±£ÃÜÐÔÒ²½Ï²î£»ÔÚʹÓÃÊý¾Ýʱ£¬ÒòÊý¾ÝÌå»ý´ó£¬´ÓÊý¾Ý¿âÏÂÔØ¸ß²ÉÑùÂÊÊý¾ÝµÈ´ýʱ¼äÒ²ÌØ±ð³¤¡£
·¢Ã÷ÄÚÈÝ
ΪÁ˿˷þÏÖÓÐǰÕ×Êý¾Ý¿âÖÐÊý¾Ý´æ´¢·½Ê½´øÀ´µÄ²»×㣬½øÒ»²½½µµÍ´ÅÅ̿ռäÕ¼ÓÃÂÊ¡¢Ìá¸ßÊý¾ÝÏÂÔØËÙ¶È¡¢¼ÓÇ¿Êý¾Ý±£ÃÜÐÔ£¬±¾·¢Ã÷ÌṩһÖÖ¶ÔµØÕðǰÕײÉÑùÊý¾Ý½øÐÐѹËõ´æ´¢Óë½âѹËõµÄ¼¼Êõ£¬Í¨¹ýÀûÓüÆËã»úÄÚ´æÖ±½Ó½øÐжþ½øÖÆÑ¹Ëõ¡¢¼ÓÃÜ£¬²¢±£´æµ½Êý¾Ý¿âµÄ¶þ½øÖÆ´ó¶ÔÏó×Ö¶Î(BLOB);ʹÓÃÊý¾Ýʱ£¬´ÓÊý¾Ý¿â×Ö¶ÎÖÐÈ¡³ö¸Ã¶þ½øÖÆÑ¹ËõÊý¾Ý£¬Í¨¹ý½âÃÜ¡¢ ½âѹËõÄæÔËË㻹ÔÔʼÊý¾Ý¡£±¾·¢Ã÷½â¾öÆä¼¼ÊõÎÊÌâËù²ÉÓõļ¼Êõ·½°¸ÊǸù¾ÝµØÕðǰÕ×Òª±£´æÈë¿âµÄ¹Û²âÊý¾Ý·ÖÀ࣬·Ö±ðÓÐ×Ö·û´®¡¢µ¥¾«¶ÈÊý×顢˫¾«¶ÈÊý×é¡¢¶þ½øÖÆ(ͼƬͼÏñµÈ)¡¢Îļþ£¬Îª´Ë£¬Ñ¹ËõÓë½âѹËõµÄº¯Êý½Ó¿Ú·Ö±ðΪ×Ö·û´®¡¢µ¥¾«¶ÈÊý×顢˫¾«¶ÈÊý×é¡¢¶þ½øÖÆ¡¢ÎļþѹËõÓë½âѹËõ£»¸Ã¼¼ÊõºËÐÄÊÇÊý¾ÝÖ±½ÓÔÚÄÚ´æ²Ù×÷£¬²ÉÓÃDeflateºÍLZ77Ëã·¨¸ÄÁ¼ºÍÓÅ»¯ºóµÄѹËõË㷨˼Ï룬ʵÏÖ²¢·â×°³É¿ÉÈÎÒâ×ÔÓɵ÷ÓõÄÎÞËðѹËõÓë½âѹËõº¯Êý¶¯Ì¬Á´½Ó¿â£¬°ÑҪѹËõµÄÊý¾Ý¶ÁÈëÄÚ´æ±äÁ¿»òÊý×飬°Ñ±äÁ¿»òÊý×éµÄÊý¾Ý¾ºËÐÄѹËõËã·¨º¯ÊýѹËõ³É¶þ½øÖÆ£¬×îºó°ÑѹËõºóµÄ¶þ½øÖÆÊý¾Ý±£´æµ½Êý¾Ý¿âµÄBLOB×ֶΣ»Ê¹ÓÃÊý¾Ýʱ£¬¶ÁÈ¡BLOB×Ö¶ÎÖеĶþ½øÖÆÑ¹ËõÊý¾Ý£¬Í¨¹ýµ÷Óö¯Ì¬¿â½âѹËõº¯Êý£¬°ÑѹËõ¶þ½øÖÆÊý¾Ý½âѹËõ»¹Ô¡£±¾·¢Ã÷µÄÓÐÒæÐ§¹ûÊÇ£¬Í¨¹ýÖ±½Ó½«Ç°Õ×ÔʼÊý¾ÝѹËõ²¢ÒÔ¶þ½øÖÆÐÎʽ´æ´¢µ½Êý¾Ý¿âBLOB×ֶΣ¬´ó´ó½µµÍÁËÊý¾ÝµÄÓ²Å̿ռäÕ¼ÓÃÂÊ£¬Í¬Ê±Ò²Æðµ½ÁËÊý¾Ý¼ÓÃܵÄ×÷Óá£
ͼ1ËùʾΪѹËõºó¶þ½øÖÆÊý¾Ý´æ´¢½á¹¹¡£Í¼1ÖеÄǰ4λ´æ·ÅѹËõºóÊý¾Ý´óС¡£Í¼1ÖеÚ5λ´æ·ÅÊý¾ÝÀàÐÍ£¬ÓÃÊý×Ö±íʾ£¬0Ϊ¶þ½øÖÆ£¬1ΪÎļþ£¬2Ϊ×Ö·û´®£¬3Ϊµ¥¾«¶ÈÊý×飬4Ϊ˫¾«¶ÈÊý×顣ͼ1ÖеÚ6λ´æ·ÅѹËõ·½Ê½£¬Ä¬ÈÏֵΪ7¡£Í¼1ÖеÚ7ÖÁ10λ¸ù¾ÝÀàÐͲ»Ò»Ñù£¬´æ·ÅµÄÖµ²»Ò»Ñù£¬Ïê¼ûÏÂÃæº¯ÊýÔÐÍ˵Ã÷¡£Í¼1ÖдӵÚ11λ¿ªÊ¼£¬Ö®ºó´æ·ÅµÄÊÇʵ¼Ê±»Ñ¹ËõºóµÄ¶þ½øÖÆÊý×éÊý¾Ý¡£Í¼2ΪѹËõ½âѹËõËã·¨¶¯Ì¬Á´½Ó¿âµÄº¯Êý½Ó¿Ú¡£
ͼ2ÖÐ(6)Ϊ½«×Ö·û´®Ñ¹ËõΪBinary (¶þ½øÖÆ)º¯Êý½Ó¿Ú£¬ÆäÔÐÍΪ
Int DataZip_StringToBinary(char ^TheInString, unsigned char ^outBin, long int *nBin)
TheInStringÊäÈë×Ö·û´®¡£nBinÊäÈëΪ·Ö¸ô·ûµÄASCII (¿Õ¸ñΪ32£¬¶ººÅΪ44£¬/Ϊ 92£¬·ÖºÅΪ59£¬ÎÞ·Ö¸ô·ûΪ0)£»Êä³ö²ÎÊý£¬nBin =N+10£¬NΪѹËõºóµÄÊý¾Ý×Ö½Ú´óС¡£outBinÊä³öѹËõºóµÄByteÊý¾Ý£» ÆäÖÐ1-4¸ö×Ö½Ú´æ·ÅѹËõºóµÄÊý¾Ý×Ö½Ú´óС£»
µÚ5×Ö½Ú´æ·ÅÊý¾ÝÀàÐÍ£¬×Ö·û´®Îª2 £» µÚ6×Ö½ÚΪѹËõ·½Ê½£¬Ä¬ÈÏ·½Ê½Îª7 £» µÚ7×Ö½Ú·Ö¸ô·û£» µÚ8¡¢9¡¢10×Ö½ÚΪ¿Õ£¬ÓÃO±íʾ¡£DataZip_StringToBinary ³É¹¦Îª O,²»³É¹¦Îª 1¡£Í¼2ÖÐ(11)Ϊ½âѹËõ×Ö·û´®(double¡¢singleÕâÁ½ÖÖByteÊý¾Ý£¬ÒÔ¿Õ¸ñΪ·Ö¸ôÊä³ö×Ö·û´®£¬ÆäËüÖ±½Ó½âѹÊä³ö×Ö·û´®)º¯Êý½Ó¿Ú£¬ÆäÔÐÍΪ
Int DataZip_BinaryToString(char ^TheOutString, unsigned char ^inBin, long int šìoutnBin)
TheOutStringÊä³ö×Ö·û´®¡£outnBinÊä³ö²ÎÊý£¬outnBin =N+10£¬NΪ½âѹËõºóµÄÊý¾Ý×Ö½Ú´óС¡£inBinÊäÈë´ý½âѹµÄByteÊý¾Ý£» ÆäÖÐ1-4¸ö×Ö½Ú´æ·ÅѹËõºóµÄÊý¾Ý×Ö½Ú´óС£»
µÚ5×Ö½Ú´æ·ÅÊý¾ÝÀàÐÍ£¬×Ö·û´®Îª2 £» µÚ6×Ö½ÚΪѹËõ·½Ê½£¬Ä¬ÈÏ·½Ê½Îª7 £» µÚ7×Ö½Ú·Ö¸ô·û£» µÚ8¡¢9¡¢10×Ö½ÚΪ¿Õ£¬ÓÃO±íʾ¡£DataZip_StringToBinary ³É¹¦ O,²»³É¹¦Îª 1¡£ ͼ2ÖÐ(7)Ϊ½«SingleѹËõΪBinary (¶þ½øÖÆ)º¯Êý½Ó¿Ú£¬ÆäÔÐÍΪ
Int DataZip_SingleToBinary (float ^ArrayName, long int N, unsigned char ^outBin, long int ^outnBin)
NÊäÈëÊý¾Ý¸öÊý¡£ArrayName (O to N ¡ª 1)ÊäÈë single Êý×é¡£outnBinÊä³ö²ÎÊý£¬nBin=N+10£¬NΪѹËõºóµÄÊý¾Ý×Ö½Ú´óС¡£outBinÊä³öѹËõºóµÄByteÊý¾Ý£» ÆäÖÐ1-4¸ö×Ö½Ú´æ·ÅѹËõºóµÄÊý¾Ý×Ö½Ú´óС£»
µÚ5×Ö½Ú´æ·ÅÊý¾ÝÀàÐÍ£¬SingleΪ3; µÚ6×Ö½ÚΪѹËõ·½Ê½£¬Ä¬ÈÏ·½Ê½Îª7 £» µÚ7 10ΪÊý¾Ý¸öÊý¡£DataZip_SingleToBinary ³É¹¦Îª O,²»³É¹¦Îª 1¡£
4
ͼ2ÖÐ(12)Ϊ½âѹBinaryΪSingle (doubleת»»Îªsingle£¬´ø·Ö¸ô×Ö·û´®×ª»»Îªsingle£¬ÆäËüÎÞ·¨½âѹ)º¯Êý½Ó¿Ú£¬ÆäÔÐÍΪ
Int DataZip¡ªBinaryToSingle(float ^ArrayNamej long int šìN£¬unsigned char ^inBinj long int ^outnBin)
NÊä³öÊý¾Ý¸öÊý¡£ArrayName (O to N ¡ª 1)Êä³ö single Êý×é¡£outnBinÊä³ö²ÎÊý£¬nBin=N+10£¬NΪ½âѹËõºóµÄÊý¾Ý×Ö½Ú´óС¡£inBin´ý½âѹµÄÊäÈëByteÊý¾Ý¡£ÆäÖÐ1-4¸ö×Ö½Ú´æ·ÅѹËõºóµÄÊý¾Ý×Ö½Ú´óС£»
µÚ5×Ö½Ú´æ·ÅÊý¾ÝÀàÐÍ£¬×Ö·û´®Îª2¡¢singleΪ3¡¢doubleΪ4 £» µÚ6×Ö½ÚΪѹËõ·½Ê½£¬Ä¬ÈÏ·½Ê½Îª7 £»
µÚðÚ10×Ö½Úµ±µÚÈý×Ö½ÚΪsingle 3,double 4£¬ÔòΪÊý¾Ý¸öÊý£»µ±Îª×Ö·û´®Ê±µÚ7¸ö×Ö½ÚΪ·Ö¸ô·û£¬µÚæþ10¸ö×Ö½ÚΪ¿Õ¡£DataZip_BinaryToSingle ³É¹¦Îª 0£¬²»³É¹¦Îª 1¡£Í¼2ÖÐ(8)Ϊ½«DoubleѹËõΪBinary (¶þ½øÖÆ)º¯Êý½Ó¿Ú£¬ÆäÔÐÍÈçÏÂ
Int DataZip_DoubIeToBinary (double ^ArrayName, long int N, unsigned char ^outBin, long int ^outnBin)
NÊäÈëÊý¾Ý¸öÊý¡£ArrayName (O to N ¡ª 1)ÊäÈë Double Êý×éÃû³Æ¡£nBinÊä³ö²ÎÊý£¬nBin=N+10, NΪѹËõºóµÄÊý¾Ý×Ö½Ú´óС¡£outBinÊä³öѹËõºóµÄByteÊý¾Ý£» ÆäÖÐ1-4¸ö×Ö½Ú´æ·ÅѹËõºóµÄÊý¾Ý×Ö½Ú´óС£»
µÚ5×Ö½Ú´æ·ÅÊý¾ÝÀàÐÍ£¬DoubleΪ4 £» µÚ6×Ö½ÚΪѹËõ·½Ê½£¬Ä¬ÈÏ·½Ê½Îª7 £» µÚ7 10ΪÊý¾Ý¸öÊý¡£DataZip_DoubleToBinary³É¹¦Îª 0£¬²»³É¹¦Îª 1¡£Í¼2ÖÐ(13)Ϊ½âѹBinaryΪDouble (singleת»»Îªdouble,´ø·Ö¸ô×Ö·û´®×ª»»Îªdouble£¬ÆäËüÎÞ·¨½âѹ)º¯Êý½Ó¿Ú£¬ÆäÔÐÍÈçÏÂ
Int DataZip¡ªBinaryToDouble (double ^ArrayNamej long int *N£¬unsigned char ^inBinj long int šìoutnBin)
NÊä³öÊý¾Ý¸öÊý¡£ArrayName (O to N - 1)Êä³ö Double Êý×é¡£outnBinÊä³ö²ÎÊý£¬nBin=N+10£¬NΪ½âѹËõºóµÄÊý¾Ý×Ö½Ú´óС¡£inBin´ý½âѹËõµÄByteÊý¾Ý£» ÆäÖÐ1-4¸ö×Ö½Ú´æ·ÅѹËõºóµÄÊý¾Ý×Ö½Ú´óС£»
µÚ5×Ö½Ú´æ·ÅÊý¾ÝÀàÐÍ£¬×Ö·û´®Îª2¡¢singleΪ3¡¢doubleΪ4 £» µÚ6×Ö½ÚΪѹËõ·½Ê½£¬Ä¬ÈÏ·½Ê½Îª7 £»
µÚðÚ10×Ö½Úµ±µÚ5×Ö½ÚΪsingle 3,double 4 £»ÔòΪÊý¾Ý¸öÊý£»µ±Îª×Ö·û´®Ê±µÚ7¸ö×Ö½ÚΪ·Ö¸ô·û£¬µÚæþ10¸ö×Ö½ÚΪ¿Õ¡£
DataZip_BinaryToDouble³É¹¦Îª 0£¬²»³É¹¦Îª 1¡£Í¼2ÖÐ(9)Ϊ½«ByteѹËõΪBinary (¶þ½øÖÆ)º¯Êý½Ó¿Ú£¬ÆäÔÐÍÈçÏÂ
Int DataZip¡ªBytesToBinary(unsigned char ^inBin, long int innBin, unsigned char ^outBin, long int ^outnBin)
inBin ()´ýѹËõµÄÊäÈëÊý¾Ý¡£innBin´ýѹËõµÄÊäÈëÊý¾Ý×Ö½ÚÊý¡£outnBinÊä³ö²ÎÊý£¬outnBin =N+10£¬NΪѹËõºóµÄÊý¾Ý×Ö½Ú´óoutBinÊä³öѹËõºóµÄByteÊý¾Ý£» ÆäÖÐ1-4¸ö×Ö½Ú´æ·ÅѹËõºóµÄÊý¾Ý×Ö½Ú´óС£»
µÚ5×Ö½Ú´æ·ÅÊý¾ÝÀàÐÍ£¬ByteΪO £» µÚ6×Ö½ÚΪѹËõ·½Ê½£¬Ä¬ÈÏ·½Ê½Îª7 £» µÚðÚ10¸ö×Ö½ÚΪ¿Õ¡£DataZip_ByteToBinary³É¹¦Îª 0£¬²»³É¹¦Îª 1¡£Í¼2ÖÐ(14)Ϊ½âѹËõByteº¯Êý½Ó¿Ú£¬ÆäÔÐÍÈçÏÂ
Int DataZip¡ªBinaryToBytes (unsigned char šìinBin, long int innBin, unsigned char šìoutBin, long int šìoutnBin)
inBin ()´ý½âѹËõµÄÊäÈëÊý¾Ý¡£innBininnBin =N+10£¬NΪ´ý½âѹËõµÄÊäÈëÊý¾Ý×Ö½ÚÊý¡£outnBinoutnBin=N£¬NΪ½âѹËõºóµÄÊý¾Ý×Ö½Ú´óС¡£outBinÊä³ö½âѹËõºóµÄByteÊý¾Ý£» ÆäÖÐ1-4¸ö×Ö½Ú´æ·ÅѹËõºóµÄÊý¾Ý×Ö½Ú´óС£»
µÚ5×Ö½Ú´æ·ÅÊý¾ÝÀàÐÍ£¬ByteΪO £» µÚ6×Ö½ÚΪѹËõ·½Ê½£¬Ä¬ÈÏ·½Ê½Îª7 £» µÚðÚ10¸ö×Ö½ÚΪ¿Õ¡£DataZip_BinaryToFile³É¹¦Îª 0£¬²»³É¹¦Îª 1¡£Í¼2ÖÐ(10)Ϊ½«ÎļþѹËõΪBinary (¶þ½øÖÆ)º¯Êý½Ó¿Ú£¬ÆäÔÐÍÈçÏÂ
Int DataZip_FiIeToBinary(char ^TheInFile, unsigned char šìoutBin, long int šìoutnBin)
TheInFileÊäÈëÎļþÃû³Æ(°üÀ¨Â·¾¶)¡£outnBinnBin=N+10£¬NΪ·µ»ØÑ¹ËõºóµÄÊý¾Ý×Ö½Ú´óС¡£outBinÊä³öѹËõºóµÄByteÊý¾Ý£» ÆäÖÐ1-4¸ö×Ö½Ú´æ·ÅѹËõºóµÄÊý¾Ý×Ö½Ú´óС£»
µÚ5×Ö½Ú´æ·ÅÊý¾ÝÀàÐÍ£¬ÎļþΪ1 £» µÚ6×Ö½ÚΪѹËõ·½Ê½£¬Ä¬ÈÏ·½Ê½Îª7 £» µÚðÚ10¸ö×Ö½ÚΪÎļþÀ©Õ¹Ãû¡£DataZip_FiIeToBinary³É¹¦Îª 0£¬²»³É¹¦Îª 1¡£Í¼2ÖÐ(15)Ϊ½«Ñ¹ËõºóµÄBinary½âѹΪÎļþº¯Êý½Ó¿Ú£¬Æäº¯ÊýÔÐÍÈçÏÂ
Int DataZip¡ªBinaryToFile (char šìTheOutFile, unsigned char šìinBin, long intšìoutnBin)
TheOutFileÊä³öÎļþÃû³Æ(°üÀ¨Â·¾¶)¡£outnBinoutnBin=N+10, N ΪÊäÈëÊý¾Ý×Ö½Ú´óС¡£inBin´ý½âѹµÄÊäÈëByteÊý¾Ý£» ÆäÖÐ1-4¸ö×Ö½Ú´æ·ÅѹËõºóµÄÊý¾Ý×Ö½Ú´óС£»
µÚ5×Ö½Ú´æ·ÅÊý¾ÝÀàÐÍ£¬ÎļþΪ1 £» µÚ6×Ö½ÚΪѹËõ·½Ê½£¬Ä¬ÈÏ·½Ê½Îª7 £» µÚðÚ10¸ö×Ö½ÚΪÎļþÀ©Õ¹Ãû¡£DataZip_BinaryToFile³É¹¦Îª 0£¬²»³É¹¦Îª 1¡£
¾ßÌåʵʩÀý·½Ê½1°ÑѹËõ½âѹËõËã·¨¶¯Ì¬¿âÒýÓõ½Ó¦ÓóÌÐòÏîÄ¿ÖÐ
ÔÚÏîÄ¿¡°ÒýÓá±ÖÐÌí¼ÓÒýÓ㬰ÑѹËõ½âѹËõËã·¨¶¯Ì¬¿âÎļþͨ¹ýä¯ÀÀÌí¼Óµ½¸ÃÏîÄ¿ÒýÓÃÀï¡£2ÔÚ½øÐÐǰÕ×¹Û²âÊý¾Ý´¦ÀíµÄÓ¦ÓóÌÐòÖе¼È붯̬Á´½Ó¿âº¯ÊýÔÐÍ [Dlllmport(¡¨CompressDLL dll¡¨)]
//µ¼È붯̬¿â£¬CompressDLL. dllËùÔÚµÄÎļþ·¾¶£¬Ïà¶Ô¡¢¾ø¶Ô·¾¶½Ô¿É static extern UInt32 DataZip_StringToBinary(string TheInStringj ref byte inBin, ref int nBin)£»
//ÉùÃ÷µ¼ÈëѹËõ×Ö·û´®º¯Êý [Dlllmport(^CompressDLL. dll¡¨)]
//µ¼È붯̬¿â£¬CompressDLL. dllËùÔÚµÄÎļþ·¾¶£¬Ïà¶Ô¡¢¾ø¶Ô·¾¶½Ô¿É static extern UInt32 DataZip_BinaryToString(StringBuilder TheOutStringj ref byte inBin, ref int nBinl)£» IlÉùÃ÷µ¼Èë½âѹËõ×Ö·û´®º¯Êý [Dlllmport(^CompressDLL. dll¡¨)]
//µ¼È붯̬¿â£¬CompressDLL. dllËùÔÚµÄÎļþ·¾¶£¬Ïà¶Ô¡¢¾ø¶Ô·¾¶½Ô¿É static extern UInt32 DataZip_SingleToBinary(ref Single ArrayNamej int N£¬ ref byte inBin, ref int nBin)£» IlÉùÃ÷µ¼ÈëѹËõµ¥¾«¶ÈÊý×麯Êý [Dlllmport(^CompressDLL. dll¡¨)]
//µ¼È붯̬¿â£¬CompressDLL. dllËùÔÚµÄÎļþ·¾¶£¬Ïà¶Ô¡¢¾ø¶Ô·¾¶½Ô¿É static extern UInt32 DataZip¡ªBinaryToSingle(ref Single ArrayNamej ref int N£¬ ref byte inBin, ref int nBin)£» IlÉùÃ÷µ¼Èë½âѹËõµ¥¾«¶ÈÊý×麯Êý [Dlllmport(^CompressDLL. dll¡¨)]
//µ¼È붯̬¿â£¬CompressDLL. dllËùÔÚµÄÎļþ·¾¶£¬Ïà¶Ô¡¢¾ø¶Ô·¾¶½Ô¿É static extern UInt32 DataZip¡ªDoubleToBinary(ref Double ArrayNamej int N£¬ ref byte inBin, ref int nBin)£»IlÉùÃ÷µ¼ÈëѹËõË«¾«¶ÈÊý×麯Êý [Dlllmport(¡¨CompressDLL dll¡¨)]
//µ¼È붯̬¿â£¬CompressDLL. dllËùÔÚµÄÎļþ·¾¶£¬Ïà¶Ô¡¢¾ø¶Ô·¾¶½Ô¿É static extern UInt32 DataZip¡ªBinaryToDouble(ref Double ArrayNamej ref int N£¬ ref byte inBin£¬ ref int nBin)£» IlÉùÃ÷µ¼Èë½âѹËõË«¾«¶ÈÊý×麯Êý [Dlllmport(^CompressDLL. dll¡¨)]
//µ¼È붯̬¿â£¬CompressDLL. dllËùÔÚµÄÎļþ·¾¶£¬Ïà¶Ô¡¢¾ø¶Ô·¾¶½Ô¿É static extern UInt32 DataZip¡ªBytesToBinary (ref byte inBin, int innBin£¬ref byte outBin, out int outnBin)£» //ÉùÃ÷µ¼ÈëѹËõ¶þ½øÖƺ¯Êý [Dlllmport(^CompressDLL. dll¡¨)]
//µ¼È붯̬¿â£¬CompressDLL. dllËùÔÚµÄÎļþ·¾¶£¬Ïà¶Ô¡¢¾ø¶Ô·¾¶½Ô¿É static extern UInt32 DataZip¡ªBinaryToBytes(ref byte inBin, int N£¬ ref byte outBin, out int outnBin)£»
IlÉùÃ÷µ¼Èë½âѹËõ¶þ½øÖƺ¯Êý [Dlllmport(^CompressDLL. dll¡¨)]
//µ¼È붯̬¿â£¬CompressDLL. dllËùÔÚµÄÎļþ·¾¶£¬Ïà¶Ô¡¢¾ø¶Ô·¾¶½Ô¿É static extern UInt32 DataZip_FiIeToBinary (string TheInFile£¬ref byte outBin, out int outnBin)£» //ÉùÃ÷µ¼Èë½âѹËõÎļþº¯Êý [Dlllmport(^CompressDLL. dll¡¨)]
//µ¼È붯̬¿â£¬CompressDLL. dllËùÔÚµÄÎļþ·¾¶£¬Ïà¶Ô¡¢¾ø¶Ô·¾¶½Ô¿É static extern UInt32 DataZip_BinaryToFile (string TheOutFile£¬ref byte outBin, out int outnBin)£»
//ÉùÃ÷µ¼Èë½âѹËõÎļþº¯Êý¡£
3ÔÚ½øÐÐǰÕ×¹Û²âÊý¾Ý´¦ÀíµÄÓ¦ÓóÌÐòÖе÷Óú¯Êý(C#ÓïÑÔΪÀý) (1)×Ö·ûÐÍÊý¾ÝµÄѹËõÓë½âѹËõ //³õʼ»¯ÓûѹËõµÄ×Ö·û´®
string strl = ¡¨25. 664 25. 664 25. 664 25. 664 25. 664 25. 664 25. 664 25. 664 25. 664 25. 664 25. 664 25. 664 25. 664 25. 665 25. 665 25. 665 25. 665 25. 665 25. 665 25. 665 25. 665 25. 665 25. 665 25. 665"; int slen = strl. Length£»
//Çó×Ö·û´®³¤¶È
byte [] strBin = new byte [slen]£» Il¿ª±Ù¶þ½øÖÆÊý×é¿Õ¼ä¹©Ñ¹ËõÊýËù´æ·Å int outnBin = 32;
//ÊäÈë×Ö·û´®·Ö¸ô·ûASCIIÂ룬´Ë´¦Îª¿Õ¸ñASCIIÂ룬ûÓзָô·ûʱÇë³õʼ»¯Îª£¬Í¬Ê±µ±Êä³ö±äÁ¿Ê±ÎªÑ¹ËõºóÊý¾Ý×Ö½Ú´óСint outnBinl = O £»
Il½âѹËõºóÊý¾Ý´óС±äÁ¿ÉùÃ÷
//°Ñ×Ö·û´®Ñ¹Ëõ³É¶þ½øÖƲ¢Êä³öѹËõºóÊý¾Ý×Ö½Ú´óС UInt32 itemp = DataZip_StringToBinary (strl£¬ref strBin
£¬ref
outnBin)£»
IlÒÔÏÂΪ°ÑѹËõ¶þ½øÖƽâѹËõ»¹ÔΪ×Ö·û´®Êä³ö int outSize = 0£¬ outPreSize = 0; //ÉùÃ÷²¢³õʼ»¯£¬outSizeΪѹËõºóÊý¾Ý´óС±äÁ¿£¬outPreSize½âѹËõºóÊý¾Ý´óС±ä
Á¿
DataZip_Size(ref strBin
£¬ref outPreSize, ref outSize)£» IlµÃµ½Ñ¹Ëõ¶þ½øÖÆÊý¾ÝѹËõºóÓë½âѹËõºóµÄÊý¾Ý´óС
StringBuilder str2 = new StringBuilder(outSize)£» IlΪ½ÓÊܽâѹËõ×Ö·û´®¿ª±Ù¿Õ¼ä
UInt32 itempi = DataZip_BinaryToString(str2£¬ref strBin
£¬ref
outnBinl)£»
IlÊä³ö½âѹËõ×Ö·û´®ºÍ½âѹËõºóµÄÊý¾Ý´óС
(2)ѹËõµ¥¾«¶ÈÊý×éµ½¶þ½øÖƲ¢½âѹËõ»¹ÔΪµ¥¾«¶ÈÊý×é //³õʼ»¯ÓûѹËõµÄµ¥¾«¶ÈÊý×é
float [] fArray = {25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6, 25. 6£¬25. 6£¬25. 6}£»
UInt32 ArraySize = (UInt32)Buffer. ByteLength (fArray)£» IlµÃµ½µ¥¾«¶ÈÊý×éÊý¾Ý×Ö½Ú³¤¶È
float[] ¦ÑArray = new float[fArray. Length]£» IlÉùÃ÷½âѹËõºó´æ·Åµ¥¾«¶ÈÊý×é
byte [] inBin = new byte[ArraySize]£» IlÉùÃ÷´æ·ÅѹËõºóµÄ¶þ½øÖÆÊý×é
int nBin = 0£¬ nBinl = 0; IlÊý×éѹËõǰºóµÄÊý¾Ý´óС int N = 40, Nl = 0; IlÊý×éÔªËØ¸öÊý
UInt32 retval = DataZip_SingIeToBinary (ref fArray
£¬N£¬ref inBin
£¬ref nBin)£»
IlѹËõµ¥¾«¶ÈÊý×éΪ¶þ½øÖƲ¢Êä³öѹËõºóÊý¾Ý´óС
UInt32 ret = DataZip_BinaryToSingle (ref pArray
£¬ref Ni£¬ref inBin
£¬ref nBinl)£»
Il½âѹËõÊä³öÊý×é¡¢Êý¾ÝÔªËØ¸öÊý¼°Êý¾Ý´óС
(3)ѹËõË«¾«¶ÈÊý×éµ½¶þ½øÖƲ¢½âѹËõ»¹ÔΪ˫¾«¶ÈÊý×é Il³õʼ»¯ÓûѹËõµÄË«¾«¶ÈÊý×éDouble ¿Ú fArray = { 25.664£¬25.664£¬25.664£¬25.664£¬25.664£¬25.664£¬ 25. 664£¬ 25. 664£¬ 25. 664£¬ 25. 664£¬ 25. 664£¬ 25. 664£¬ 25. 664£¬ 25. 665£¬ 25. 665£¬ 25. 665, 25. 665, 25. 665, 25. 665, 25. 665, 25. 665, 25. 665, 25. 665, 25. 665}£» UInt32 ArraySize = (UInt32)Buffer. ByteLength (fArray)£» IlµÃµ½Ë«¾«¶ÈÊý×éÊý¾Ý×Ö½Ú³¤¶È
Double [] ¦ÑArray = new Double[fArray. Length]£» IlÉùÃ÷½âѹËõºó´æ·ÅË«¾«¶ÈÊý×é
byte [] inBin = new byte [ArraySize]£» IlÉùÃ÷´æ·ÅѹËõºóµÄ¶þ½øÖÆÊý×é
int nBin = 0£¬ nBinl = 0; IlÊý×éѹËõǰºóµÄÊý¾Ý´óС
int N = 1440£¬ Nl = 0; IlÊý×éÔªËØ¸öÊý
UInt32 retval = DataZip_DoubIeToBinary (ref fArray
£¬N£¬ref inBin
£¬ref nBin)£»
IlѹËõË«¾«¶ÈÊý×éΪ¶þ½øÖƲ¢Êä³öѹËõºóÊý¾Ý´óС
UInt32 ret = DataZip_BinaryToDoubIe (ref pArray
£¬ref Ni£¬ref inBin
, ref nBinl)£»
Il½âѹËõÊä³öÊý×é¡¢Êý¾ÝÔªËØ¸öÊý¼°Êý¾Ý´óС (4) ¶þ½øÖƵÄѹËõÓë½âѹËõ
Stringsi :="25. 664£¬25 664£¬25.664,,25 664£¬25 664£¬25.,664£¬25.,66425.,664£¬25 664,,25. 664£¬25.664£¬25.664£¬25.664£¬25.665£¬25.665£¬25.665:25.665£¬25,.665£¬25. 665£¬25.665£¬25.665£¬25.665£¬25.665£¬25.665£¬25.665;25.665£¬25..665£¬25. 665£¬25.666,25.666,25.665£¬25.665£¬25.666,25.666,25.666,25.666,25. 666£¬25.666,25.666,25.666,25.666,25.666,25.666,25.666£¬25. ¦É366£¬25.666£¬25 666£¬25.666£¬25.666"j
int strLen = si.Length;
byte [] pdata = new byte [strLen]£»
int strCount = 0;
DataZip_StringToBytes(si, ref strCount, ref pdata
)£» //´Ëº¯Êý¹¦ÄÜÊäÈë×Ö·û´®£¬Êä³ö×Ö·û´®³¤¶È£¬²¢Êä³ö×Ö·û´®µÄBytesÊý¾Ý //EndÉú³ÉBytes×Ö½ÚÊý¾Ý //BeginѹËõBytesÊý¾Ý byte [] pout = new byte [strLen]£» int outnBin£»
uint deret = DataZip¡ªBytesToBinary(ref pdata
, strLen, ref pout
, out outnBin)£»
IlѹËõBytesÊý¾ÝΪ¶þ½øÖÆ //EndѹËõBytesÊý¾Ý//Begin½âѹËõBytesÊý¾Ý int outnBinl£» byte [] pdatal = new byte [strLen]£» deret = DataZip¡ªBinaryToBytes (ref pout
, outnBin, ref pdatal
, out outnBinl)£»
Il½âѹËõ¶þ½øÖÆÎªBytesÊý¾Ý //End½âѹËõBytesÊý¾Ý //Begin°Ñ¶þ½øÖÆÊý¾Ý»¹ÔΪ×Ö·û´® StringBuilder outstr = new StringBuilder (si. Length)£» int count = si. Length;
DataZip_By^esToString(outstr, ref count, ref pdatal
)£» //´Ëº¯Êý¹¦ÄÜÊäÈë×Ö·û´®µÄBytesÊý¾Ý£¬Êä³ö×Ö·û´®£¬²¢Êä³ö×Ö·û´®³¤¶È (5)¶ÔÎļþµÄѹËõÓë½âѹËõ
string fiIeName = ¡¨E:\\CompressNew\\ExampleData\\ll¡¤ csv¡¨£» IlÓûѹËõµÄÎļþ·¾¶
string fiIeOutName = ¡¨E:\\CompressNew\\ExampleData\\122¡¨£» Il»¹Ô³ÉÎļþµÄ·¾¶
uint retBin£¬retFile£» int nBin, outnBin; byte[] pBin = new byte [20480]£» retBin = DataZip_FiIeToBinary(fiIeNamej ref pBin
, out nBin)£» Il¸ù¾ÝÎļþ·¾¶Ñ¹Ëõ¶þ½øÖƲ¢Êä³öѹËõºóµÄ´óС
retFile = DataZip¡ªBinaryToFile(fileOutName£¬ ref pBin
£¬ out outnBin)£» Il½âѹËõ¶þ½øÖÆ£¬Êä³öÎļþÓë½âѹËõºóµÄ´óС 4µØÕðǰÕ×ÔʼÊý¾ÝÊý¾Ý¿â´æ´¢×ֶζ¨ÒåΪBLOBÀàÐÍ
½¨Á¢Êý¾Ý¿â±íʱ½«ÔʼÊý¾Ý×ֶζ¨ÒåΪBLOBÀàÐÍ£¬²»ÔÙ²ÉÓÃÒÔÍùµÄCLOBÀàÐÍ¡£
5ͨ¹ýÊý¾Ý¿â²Ù×÷Óï¾ä²åÈëѹËõºóµÄ¶þ½øÖƵØÕðǰÕ×ÔʼÊý¾Ýµ½BLOB×ֶΡ£
ȨÀûÒªÇó
1.µØÕðǰÕײÉÑùÊý¾ÝѹËõ´æ´¢Óë½âѹËõ£¬ÊµÏÖÁ˶Ô×Ö·û´®¡¢µ¥¾«¶ÈÊý×顢˫¾«¶ÈÊý×é¡¢ ¶þ½øÖÆÍ¼Æ¬»òͼÏñ¡¢ÎļþµÄѹËõÓë½âѹËõ£¬ÆäÌØÕ÷ÊÇ×Ö·û´®¡¢µ¥¾«¶ÈÊý×顢˫¾«¶ÈÊý×é¡¢¶þ½øÖÆÍ¼Æ¬»òͼÏñ¡¢ÎļþÊÇÔÚÄÚ´æ±äÁ¿»òÊý×éÖÐÖ±½ÓѹËõ³É¶þ½øÖÆÊý×飬²¢ÒÔ¶þ½øÖÆÐÎʽ´æ´¢µ½Êý¾Ý¿âÖеÄBLOB×ֶΡ£Êý¾ÝʹÓÃʱ£¬ÓÉÊý¾Ý¿âÌáÈ¡¶þ½øÖÆÑ¹ËõÊý×éºó¾½âѹËõ»¹Ô³É×Ö·û´®¡¢µ¥¾«¶ÈÊý×顢˫¾«¶ÈÊý×é¡¢¶þ½øÖÆÍ¼Æ¬»òͼÏñ¡¢Îļþ£»½µµÍÁË´ÅÅÌÕ¼ÓÃÂÊ¡¢Ìá¸ßÁË´ÅÅ̵ÄʹÓÃЧÂÊ¡¢¼Ó¿ìÁËÍøÂç´«ÊäËÙ¶È£¬Í¬Ê±Ò²Æðµ½Á˼ÓÃܵÄ×÷Óá£
2.¸ù¾ÝȨÀûÒªÇó1ËùÊöµÄµØÕðǰÕײÉÑùÊý¾ÝѹËõ´æ´¢£¬ÆäÌØÕ÷ÊÇʵÏÖÁ˶ԵØÕðǰÕײÉÑùÊý¾ÝµÄѹËõ´æ´¢¡£
3.¸ù¾ÝȨÀûÒªÇó2ËùÊöµÄµØÕðǰÕײÉÑùÊý¾ÝѹËõ´æ´¢£¬ÆäÌØÕ÷ÊÇÒÔÄܶԵØÕðǰÕײÉÑùÊý¾ÝµÄÔʼÊý¾Ý¡¢Ô¤´¦ÀíÊý¾Ý¡¢²úÆ·Êý¾Ý¡¢Ê¼þÊý¾ÝµÈµÄѹËõ´æ´¢¡£
4.¸ù¾ÝȨÀûÒªÇó1ËùÊöµÄµØÕðǰÕײÉÑùÊý¾ÝѹËõ´æ´¢£¬ÆäÌØÕ÷ÊÇÄܹ»ÊµÏÖ¶Ô×Ö·û´®¡¢µ¥¾«¶ÈÊý×顢˫¾«¶ÈÊý×é¡¢¶þ½øÖÆÍ¼Æ¬»òͼÏñ¡¢Îļþ½øÐжþ½øÖÆÑ¹ËõÓë´æ´¢¡£
5.¸ù¾ÝȨÀûÒªÇó1ËùÊöµÄµØÕðǰÕײÉÑùÊý¾Ý½âѹËõ£¬ÆäÌØÕ÷ÊÇÄܹ»¶ÔѹËõºóµÄ¶þ½øÖÆÊý¾Ý½øÐнâѹËõÄæÔËËãºó½øÐл¹Ô¡£
6.¸ù¾ÝȨÀûÒªÇó1ËùÊöµÄѹËõÊý¾ÝΪ¶þ½øÖÆÊý×飬ÆäÌØÕ÷ÊÇÊý¾ÝÔÚÄÚ´æ±äÁ¿»òÊý×éÖÐÖ±½ÓѹËõ³É¶þ½øÖÆÊý×é¡£
7.¸ù¾ÝȨÀûÒªÇó1ËùÊöµÄµØÕðǰÕײÉÑùÊý¾ÝѹËõ´æ´¢Óë½âѹËõ£¬ÆäÌØÕ÷ÊÇÄ¿µÄÊǽµµÍ´ÅÅÌÕ¼ÓÃÂÊ¡¢Ìá¸ß´ÅÅÌʹÓÃÂÊ¡¢¼Ó¿ìÍøÂç´«ÊäËÙ¶È¡¢½øÐÐǰÕ×Êý¾Ý¼ÓÃÜ¡£
È«ÎÄÕªÒª
µØÕðǰÕײÉÑùÊý¾ÝµÄѹËõ´æ´¢Óë½âѹËõ¼¼Êõ£¬Éæ¼°ÎÒ¹úµØÕðǰÕײÉÑùÊý¾ÝÔÚÊý¾Ý¿âÖеĴ洢ÒÔ¼°Êý¾ÝʹÓ÷½Ê½¡£Í¨¹ýÔÚ¼ÆËã»úÄÚ´æÖÐÖ±½Ó½«µØÕðǰÕײÉÑùÊý¾Ý½øÐжþ½øÖÆÑ¹ËõÓë½âѹËõ£¬¿É´ó´ó¼õÉÙÊý¾ÝµÄ´ÅÅÌÕ¼ÓÃÂÊ£¬Í¬Ê±Ò²¿ÉÆðµ½¼ÓÃܵÄ×÷Óã¬ÌرðÊÊÓÃÓڸ߲ÉÑùÂʵØÕðǰÕ×Êý¾ÝµÄ¶þ½øÖÆÑ¹ËõÓë´æ´¢£¬½øÒ»²½Ìá¸ßÊý¾Ý¿âµÄʹÓÃЧÂÊ¡£±¾·¢Ã÷ÌṩÁËÒ»ÖÖ¶ÔµØÕðǰÕײÉÑùÊý¾Ý½øÐжþ½øÖÆÑ¹ËõÓë´æ´¢µÄ¼¼Êõ£¬¶ÔµØÕðǰÕ×Êý¾ÝµÄѹËõ¡¢½âѹËõ¾ùÔÚµçÄÔÄÚ´æÖÐÖ±½ÓʵÏÖ£¬Ñ¹ËõºóµÄ¶þ½øÖÆÊý¾Ý±£´æµ½Êý¾Ý¿âµÄ¶þ½øÖÆ´ó¶ÔÏó(BLOB)×ֶΣ»Ê¹ÓÃÊý¾Ýʱ£¬´ÓÊý¾Ý¿â×Ö¶ÎÖÐÈ¡³ö¸ÃѹËõ¶þ½øÖÆÊý¾Ý£¬ÔÙ½øÐнâÃÜ¡¢½âѹËõµÄÄæÔËË㽫ѹËõ¶þ½øÖÆÊý¾Ý½øÐл¹Ô£¬´Ó¶øÃÖ²¹ÁËÏÖÓÐǰÕ×Êý¾Ý¿âÖÐÓÉÓÚÖ±½Ó±£´æÎı¾Êý¾Ý¶øµ¼ÖµĴÅÅ̿ռäѸËÙÔö³¤¡¢´ÅÅÌÀûÓÃÂʵÍÏ¡¢ÍøÂç´«Êäʱ¼ä³¤¡¢Êý¾Ý±£ÃÜÐÔ²»Ç¿µÈ²»×ã¡£
Îĵµ±àºÅG01V1/24GK102445707SQ20101029842
¹«¿ªÈÕ2012Äê5ÔÂ9ÈÕ ÉêÇëÈÕÆÚ2010Äê10ÔÂ4ÈÕ ÓÅÏÈȨÈÕ2010Äê10ÔÂ4ÈÕ
·¢Ã÷ÕßÁõ¼á, ÕÅÐ˹ú, ÀîÊ¢ÀÖ, Íõ×ÓÓ° ÉêÇëÈË:Áõ¼á, ÕÅÐ˹ú, ÀîÊ¢ÀÖ, Íõ×ÓÓ°