您好,欢迎访问一九零五行业门户网

PHP的base64_decode及写入mysql前的转义

我看到这个函数解码后返回一个string。
现在我编码前是一个二进制文件流,从图像文件读取来的。如果用这个函数解码并赋值给一个变量,那么应该默认就是一个string变量了。string变量可以存储二进制文件流吗?如果不能,应该怎么做,才能正确解码呢?
另外一个问题是,解码后要将这个二进制流存入到mysql的一个longblob字段里面,我需要对哪些字符进行转义?php是不是有专门的函数来一次性实现这个转义的?
补充一下我所用的编码和解码方式:
编码部分(vc端)
char buffer[102400]; //buf_size大小自己定义dword length;//照片图片file * pfile = fopen(photo.bmp, rb);int img = fread(buffer, sizeof(char), 102400, pfile);//将文件二进制流读入到buffer中fclose(pfile);cryptbinarytostring((const byte *)buffer,img,crypt_string_base64,null,&length);//获取存放编码后字串所需长度imgstring = new tchar[length];//imgstring是要发送给php的字串,根据上面获取的长度,初始化该字串length--;//减去最后字串结束符的位置cryptbinarytostring((const byte *)buffer,img,crypt_string_base64,imgstring,&length);//向imgstring里面存放buffer的base64编码
解码并写入数据库部分(php+mysql)
$face = addslashes(base64_decode(trim($_request['face'],')));$query = update index_base set face=$face where id=$bid;$result = mysql_query($query);
回复讨论(解决方案) 印象中二进制文件和字符串没什么不同啊..
转义用addslashes或者mysql_real_escape_string
我得到的出错提示:
you have an error in your sql syntax; check the manual that corresponds to your mysql server version for the right syntax to use near '\0\0\0\0\0\06\0\0\0(\0\0\0f\0\0\0~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0' at line 1
印象中二进制文件和字符串没什么不同啊..
转义用addslashes或者mysql_real_escape_string
。。。二进制里面很多字串结束符的啊 那个出错提示里的错误位置,比mysql请求语句里面尝试写入的二进制流要短得多啊,不是已经转义过了吗,怎么还会截断?
请求里面是这个:
face=bmη\0\0\0\0\0\06\0\0\0(\0\0\0f\0\0\0~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 rzp?{!0 \0\0 rzpw\\?|?\'?+.?[?.+?{?z?z?np?.0w|?290ryp|l?\\?|}.n 1?\00q\0?q?1! ?`?pp?`@?p0?@ ?p1\0pa pa``````\0\0?p`?pp?pp?@@?0@? 0? 0? ? ? ? 0?0a\0@q`q pa0?qp`p```q\0?q\0?a?……………………后面还有好长
行进中的是流,静止下来就是字符串
二进制文件和文本文件的区别在与前者没有文件结束符 ox1a
既然你发送的是 base64 编码所谓数据,那么入库时不需要解码,并且也不需要转义
待日后还原数据时再解码不迟
行进中的是流,静止下来就是字符串
二进制文件和文本文件的区别在与前者没有文件结束符 ox1a
既然你发送的是 base64 编码所谓数据,那么入库时不需要解码,并且也不需要转义
待日后还原数据时再解码不迟
即使不解码、不转义,也是错的。
invalid query: you have an error in your sql syntax; check the manual that corresponds to your mysql server version for the right syntax to use near ''qk3olwaaaaaaadyaaaaoaaaazgaaah4aaaababgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeacid' at line 1whole query: update index_base set cardtype=1, name='杨妍', sex='0', nationality='汉', birth='19850906', address='南京市鼓楼区广州路213-1号',expiration='20210602', expirebegin='20110602',  cardid='321283198509060027',issued='南京市公安局鼓楼分局',samid= '05.03-20131218-0001645552-2769328138',iinsndn='0000000000000000',face='qk3olwaaaaaaadyaaaaoaaaazgaaah4aaaababgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeacidwygdgufdgufeaqfdwmedgiddqecdqecdqecdgiddwmeeaqfeqyfegcgewghfqojfgskfwwlfg4mfg8ngriqhbuthbcvhxoyhbyxghmxfw8xfwsydqgybauzulpwo7djqlxorbnvsr7at8pftsletshftcdet8deusphvcbkwmnnw8vrxmzsxc3vxs7wyndyxc3vwsrsvsbou8plusliuchht7/ftr7et8deuclgusphu8tiusphuclgumhft8deumhfuclgusphu8tiu8xhvmbivcfjwmjkwcnlwsrmw8vnxmzoxc7nx9dpydlry9ttoam/e4cthsewawuqdxaxhbseexisdqggdacfdqyedauddaqcdqudeaueegcgfgkifgkifgkifgkifgkifgkiaaaqbwgpbgyobquobquqbaupawqoagmnaqinaqinaqioagmpawqqbaurbgusbwytcacvcgkwcwoxdaswdgwwdw0zehacfrmcfxufghgcfhcaexcxdxcxcxgncbgebrlswncjsmmotc6tudwyvtq3w9 2wt62wd 1wn63wn66w g9xutayefdy vezozfze/gzvdi0plfze/cyuy xui7w w6wuk5weg3v9 2vt63wn65wuc6w g7xok6w g5wuc4wd 3wn64wd 5wuc6w g7xok7xeg8xuk9x payotbyexcyubdy fezojfzufh0onj0uvl1o2hqb97gjmditadbrapebccgx4tehincaymbwunbgqmbqmmbainbqmqbqqsbwywcqgwcqgwcqgwcqgwcqgwcqgaaa4fbg4fbq4fbq0eba8dba4caw4caw0bag0bag0bag4caw8dbbaebregbrihbhmibxukcrylchcmcxyodbypdrypdrcqdhuqdhyrdxupebuoehqmfbykfxinhq4pi1dfdaowyae0zay41lc82lta3lta3lxa3rbb37nc4lzf47/i5sll6cxn7cbo7sfp8cjq8snr88bo8mpl7cdi6r3f57ze5lze5lvd47rc4rrd4bve4rve4rzf47rd4bnc4ljb37fa3ra/3ba/3ba/3bfa3rba3lba3lba3lnb3brc3rvd37ze4l7g4sdj4sll5mtn5sfq6z6mvhl krwglwiedwwnfbcwgreqea4jbwwhbq0gbawfawweag0faxafbbihbhyjcbyjcbyjcbyjcbyjcbyjcaaadgugdqqedqqedamddgiddqecdqecdqecdqecdqecdgiddwmeeaqfeqyfegcgewghfqojfgskfwwlfg4mfg8nfa0legsjdgkhdqggdggjeakneqkrfqkwfhehgbktxwv7pbllqlxoq7ftrrrwsb3zs7/btcdet8lgu8tivsflwcroxm3rx8/vx8/vyndyydhzytl0x8/xxc3vwsrswmjqwmjowmjov8fnvsbmvsflvsflvsflvsflvmxju8tiuclgt8detr/dtb7ctl3btl3bsrzysbvxslrwsrrws7vxtb3ztr7aumdcuspcvcbfwmniw8zlm6o5d3ypgx8uagqpcqoreratdw4oeasjdgkhdgcfdauddaqcdqudeaueegcgfgkifgkifgkifgkifgkifgkiaaanbaumawmmawmmawmoagmnaqinaqinaqinaqinaqioagmpawqqbaurbgusbwytcacvcgkwcwoxdaswdgwwdw0wdw0wdw0udw0vea4udg8tdbaschiucbuzfcqehznvd42ir8ims8yqttksunsuutaxvdm0v923wuc9xutayefdzorfzuzi0pdi0pdj0fpk0vtl0/xj0fphz/hezo7cyuzcyurcyurcyurcyurbyujbyujayefayee9xus7xok5wuc3wn61vty0vduyu9mwudeuunstt9ortdgrs8 ttdgvt9oxudwzu9e1vte4wdq7xn2/yogyolz1eo0ahi0cba8gbw4lcg0ndawsdqspcggpcaynbgqmbainbqmqbqqsbwywcqgwcqgwcqgwcqgwcqgwcqgaaawdbawdawwdawscag0bag0bag0bag0bag0bag0bag4caw8dbbaebregbrihbhmibxukcrylchcmcxyodbypdrcqdhksebkuehwxfrktfbcqfbqmfbqifrwxjyumookkokctxqsxyqm10aq20qu306 717s/3bne4sdj58ll6cxo7mfq7srs8srs8svt9cvt9czu9srs9mnr88fp8cxn78xn7cbo7sbo7sfp78bp7cxo7mtn68pm6sdj573g5lrd4bfa3rs927k72a 41q221kq00kiyzqwvy6ssykauyqmxzauzz6620rg607s91rfa2bve3zwds3n4ixgckweddgmecwyfcaskchmodbalcq8ibg0gbaweag0faxafbbihbhyjcbyjcbyjcbyjcbyjcbyjcaaacwmecwmdcwmdcwmddamddamddamddamddamddamddamddqqeeaqfeaueeqyfeqyfegcgewghfqojfawkfa0lfg8ngriqgrqsgxyufharegspeagqdgqrgxcns0xgg4uhnardoa7hprloqbxrrljuslzytl/dumphv8jmwcrow8zqxc7syndwyndwyndyyndyydhzx8/xxs7wxmzuw8vtxmzsxc3txc3txs7uxc7sxm3rw8zqw8zqwmnnvcbku8tiuclgt8detb7cs7zasbryrrjurlbsqbppqldmqrlorltqrbxrr7ftslnssbrtsrvutl3wjzwram cexcmaaemaqijbamgcqgieqwkdwoidwggdqyedaqcdqudeaueeqyffqghfqghfqghfqghfqghfqghaaalawqlawmlawmmbaqnbqumbaqmbaqmbaqnbaqnbaqnbaqnbaqpawqpbamqbqqqbqqrbgusbwyucqgtcwkudqswdw0yeq8yexeafrmudg8obwskbqwjag4dgslyc4efjaoap8cfrmwksmyotnctudwxvdm1wn64w g x xayefcy nezevgzu7gzu7gzvdgzvdhz/hfze/ezo7dy 3cyuzcyurdy vezozfze3ezevezevdzordzorbyui/yoa9xus7xok6w g5wuc3wn62v92zvdmwutatt9ottdguttkvt9owunsxudwwudkvungut9cut9cgjqriz3opeyiaaqwaaqgdaguibwcqcwkocqcobwumbqmmbainbqmqbqqrbguubwyubwyubwyubwyubwyubwyaaasdbasdawwebaweba0fbq0fbq0fbq0fbq0fbqweba0ebawdaw4caw4dag4dag8eaxafbbegbrihbhikcbmmchuodbcqdhcsebovexipdwwicwkgdqgddyaelnl7j4qsqjypwqgux6ayzqq20q 717k 2rxa3rjd4b3g5l7h5cdj58ll6ctm7mpl68pl7cpl7cpl7clk7mhj68di6sdi6shj6clk6spl68xn7ctn68pm6spm6spm6shk6mdj577h5b3g5lzf47ve4rrd4brd4bfb3bs 2rg717g51bg51bk61rk61ro716 40ay1zqmyy6ewyx2fm1zbbhyakqaacaaabqeaawyfbq4jbwwhbq0gbawfaw0faw0faxafbbegbrqhbhqhbhqhbhqhbhqhbhqhbgaacqmecgqedqufdgygdwchdwchdwchdwchdwchdgygdgufdqqedgiddgmcdgmcdgmcdgmceaueegcgegoifawkfq4mfxaogriqhbutfa4pdqkmcgcocqqqjciygyoxj5etnqveoq/ip7ppq7ftslzysr7atcdeumphvcbkvsflv8jmwmnnwsrqwcnpwcnrwmjqwmjqv8fpv8fpvsbovsbov8fnwmjowsrqxmzsw8zqw8zqw8zqw8zqwsvpwcrowmnnwmnnv8jmvsflvsflvsflu8xhucpftsdctr7atr7atr7atb3ztb3zr7jrqrpmpa7hokncc3ursk9ihymyaaaiaaafaqadbqqedqggdacfdqyedqyedgyedgyeeaueeaueewyfewyfewyfewyfewyfewyfaaagawmhbamkbaqkbaqnbqunbqunbqunbqunbqumbaqmbaqmawmnaqinagenagenageoawipbamrbgurcqctcwktdaoudqswdw0yeq8pdawjbwohbqwhaw8ehy54fzcklkmdqsohrsemss6qttkuutaxvdm0v922wd 7xok8xeo9xus x xayoi/x e xui9xee9xee9xee9xee8xoa8xoa9xew/x fayojcyurcy ncy nbyujbyujayee/yoa x w9xus9xus9xus9xus x w7xeg5w9 3wd23v9u2vtq2vtq1vdm1vdmut9coscqiq8scpb5qcog7qfmyhcsaaagaaaubaameawmlbgqlbgqnbgqnbgqobgqobgqqbqqqbqqsbqqsbqqsbqqsbqqsbqqsbqqaaaucagydagkdawoebasfbqsfbq0fbq0fbq0fbqwebasdawscagwaaqwbaa0caq0caq4dag8eaxafbbegbrmibxikcbilcrmmchqncwwjcqcfcaudcgqbdrgbknf2iyaqpzypwqctxqswzki00k251a 717k927xa3rrd4bve4rzf473g5l7g5r3f5bze5rvd5bvd5bvd5bvd5bvd5bvd5bze5l7g5sdi6mlk6shk6mdj58dj58dj577h5b3g5lzf47ve4rzf473g5l3g5l7h5bzg4rre4ljc3rja3le/27a 2rw92bw92a630kewyz owzihumbofiswqxauiwaacaaabqeaawmcagkeagkeagwfawwfaw4gba4gbbafbbafbbifbbifbbifbbifbbifbbifbaaaagebawibbgmcbwqdcauecauecgqecgqedaqecwmdcwmdcqebcqaacgiadqibdgmcdwqddwqdeaueeaueeqyfdwcfdwggeakheqoicqygbaifageiaqamexylaw6bgoqgnkfanqveo6/lp7ppq7ftrrrwsbzatl/duclgusphu8tiu8tivmtku8pjuslkuchjumdiumdiumdiumdiuchju8pjvcxlv8fnwcnpwmnnv8jmvsflvsflvmxju8tiusphuclgusphvmxjvcbkv8jmvmbiustgumleumdct7/btr7atb3ztb3zrlxopk3gnkw lj22vl50gyazcq0caaaiaaafaqadawiccambcambcwqcdauddgyedgyeeauedwqdeqqdeqqdeqqdeqqdeqqdeqqdaaabaaabaaacaqadagehbamhbamjawmjawmlawmkagikagijaqejaaakaganageoawiqbqqqbqqqbqqqbqqqbqqobgqobgqnbgqnbgqgawmcaambaacaaqwpeyjiz3p hpyep8cfqsojrcmnsc2sttkuunsxuti0vdu4wd 4wd 5wuc6w g7w o5weg4wok2vuc1vd 1vd 2vuc2vuc3v g5weg7w o9xexayoi/yoa x w9xus9xus7xok6w g5wuc4wd 5wuc7xok9xutayee9x o7xeg4wt64wny3v9u2vtq1vdm1vdmrtm2iq8syobqpmlfmvgoneiudbxyaaagaaaubaamcaqehagaiawelbaimbqmpbwuobgqqbqqpbamqawiqawiqawiqawiqawiqawiaaakicamcaqeaaaeaaaceawceawkdawkdawsdawocagkbaqgaaacaaagbaaocaasdaq4dag4dag8eaw0faw0faw0faw4gba0gba0gbaydagibageabgabdawrhvxicnmclpmiupumvqcrxkowyai00ku306661rg92bs/3bs/3bxa3rxa3rw/37s 3rs 3ro93bo937o937s 4ls 4lw/4bfb4bnd47vg5l3i5rzh5bvg5lvg5l3g5lve4rnc4lfa3ra/3bxa3rfc4ljd4bne4rbb37s/3bk927c72a661q 51a240a630kewykcpwy ysh gn0jjxaclggefeaaacaaabqebagibaaycaacdaasfaasfaawfawseagweagweag4dag0caq0caq0caq0caq0caqaaeraqbgueaqaaaqaabwqdbgmccaiccaiccaicbwebcaaabwaabwaabwaacaeacqiadaqcdaqcdaqcdaqcdaqcdquddgyedgyedgyecaicagecaqagaqamcg4avlxsdh2rlp 3mas8nqnboq/iqltqqrbsrbnvslzytl/ds77cs77csr3bsrzcsrzcs73ds73dtl7gtl7gtl7gtb/htsdit8hhucpjusxjvmflu8bku8bku8bkvcbku8tiuclgt8detr/dtl/dtl/dtl/dtl/dsr3bslvzrlrxq7nwqlfsqltqp7llp7dioqzbn6e9ii jcneloj1oaqqtaqmoaqijagifbamebqibbgiabwmacgqacgqacwqccgmbcgmbcwmbdqibdaeadaeacwaacwaacwaaaaaqkskuexibaaabaaagawifagefagefagefageeaqagaaafaaahaaahaaaiaqajagakawekawelbailbailbailbainbqmnbqmobquiagmcaqiaaaqaaagtfynmu2ftdomsnlgworecp7 grcwntm2qt9ctudwuvdixv9ywvtuwvtuuvnmvudmwutqyvnyzvd20vuc0vt60vt61v9 2woc3wuc4w g5xok7xus7xus7xus7xus9xus7xok5wuc2wny0vtqxvdmxvnquvnmtu9irudaqunwmttoks9kjsc6irsqhrmwgqcgeql2dprqbijtla3shjjiaag0aawwfbasfbacfbaqfawagagagagagagagagaiaqaiaqaiaqaiaqajaqajaqajaqaiaaaiaaaiaaaaaencqimiiqmcaqmcaqydagucaqucaqqbaaqbaaqbaayaaauaaauaaauaaaybaaybaakcaakcaaodaqodaqsdawsdaw0eba0ebbaebqgcawiaawaabqaacb0hlujjv2dxgy arzsgtzumvp sxkazzkm2z6251a2817c 26 92q682ay6162316642lc62rk83ls 4ls 3rw/37ba4lfb4bfc4ljd4bjd4bne4rrf47vg5lvg5l3g5lve4rnc4lba3ls 2rc82k 62ku51qm31kw10qsz0qgx0kcw0z2typ2pxzumv5miupukuj6luhycklxfbgoogqaacqidcgcgdaygbwueawudaaycaaycaaycaaubaauaaauaaagbaagbaagaaacaaacaaacaaacaaacaaaaajiully4tcacgbqqdawibageaageaaqaaaqaaaqaaawaaawaaawaaaweaaweaaweabgeabgeacqiacgmbcwmdcwmddamddqqeeaqfcgidbaadaaaeaaahfholntxkxmh4ipwoj5yvl6o4nknbplhkpbxnqbjtqrvwrr7brlzzqrrxqljvqbbvq7jxrbrzr7zbtl7gtl7etb/ftcdetshftshftshftshftshft8lgumphuctivcbkustgt8hdtl7asrzyrbnvq7buprtrorlpn7dnna3mmazklqvllabdlko kz62kzuwjpeqjpwjymdzntlebacqaaafaaacbgyhbqufbqqdbqqabgiabqeabqeabqeabqeabqeabgeabgeacqebcaaacaaabwaabwaabwaaaaalcgo8ozoodqwibwycaqacaqacaqabaaabaaabaaabaaabaaadaaadaqadaqadaqaeagaeagagaqahagakagikagimawmnbaqqbaulawqhaaqbaaqaaacqfb8nljxvx2 gkasmmayuolwap7 jsmmktmyot9kputwtvdqquteounwmttoks9knttwsudivvnu0vuc0vt61v9 1wn62wd 1wn60v92zvtyyvdu0v922wd 4w g8xeo5w9 2wnyzvdmxu9ert9oos9gism2cq8qzqcivqmispsirpmmnomclm7ijlq ikqeaizx8g5fgslusexoaaayaaaqaaaifbaueawmeawifbaagagafaqafaqafaqafaqafaqagaqahagajawmiagihaqegaaagaaagaaaaaacgbisqksafhheqdwibaaeaaaeaaaeaaaeaaaeaaaeaaaeaaaeaaaebaaebaaebaaebaaebaaqcaaccaaocagocagwdaw0ebbaebqsdbagbbqiabqaabqopgboilu1yzooooimwqjcfspimu6guxqkyyqs10ki51ky82am51qe31ks00agwz6w006m416672rs 4ls 3rs 3rs/3bxa3ro 3lk927c72a 62lg82rs/3bb
…………
中间省略大段字符串
…………
7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v4aap7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /v7 /gaa妄 where id=55556 不解码直接写入成功了。单引号改成双引号就可以了。
然后我试了下用同样的方法写入解码之后的值,也比以前好一点,至少这个长串数据前面有一段能正确识别,mysql报错的位置从数据串中间开始的。
不知道我解码再转义后是否能正确?
base64_encode后的就是字符串了,直接用base64_encode后的入?,出的?候再用base64_decde 一次就可以了。
尾部的 .../v7 /v7 /gaa妄  哪里来的?
 这些是图片数据?显然是未经base64 编码的,因为 base64 编码中只有 数字、大小写字母和 /-= 3个符号
行进中的是流,静止下来就是字符串
二进制文件和文本文件的区别在与前者没有文件结束符 ox1a
既然你发送的是 base64 编码所谓数据,那么入库时不需要解码,并且也不需要转义
待日后还原数据时再解码不迟
我把二进制写进去了……但是图片完全损坏了。
在navicat里面可以看到图片的样子,身份证头像脖子领口以上完全歪到图片外面去了,没歪出去的部分也是很多彩色噪点,基本分辨不出来是什么。
如果把二进制字段另存为一个文件,那就根本打不开。
尾部的 .../v7 /v7 /gaa妄  哪里来的?
 这些是图片数据?显然是未经base64 编码的,因为 base64 编码中只有 数字、大小写字母和 /-= 3个符号
我在vc端调试看了发送前的编码串,就是那个样子,看来是我编码不对了啊? base64 编码只不过是将 3 个字节扩展成 4 个字节,是的每个字节的有效二进制位为 6 位,即十进制 0 ~ 63 供 64 种状态,故名 base64
我不是很清楚你做编码是使用库函数,还是自己写的代码
但从生成的串上看,肯定是弄错了
base64 编码只不过是将 3 个字节扩展成 4 个字节,是的每个字节的有效二进制位为 6 位,即十进制 0 ~ 63 供 64 种状态,故名 base64
我不是很清楚你做编码是使用库函数,还是自己写的代码
但从生成的串上看,肯定是弄错了
我用了wincrypt.h和crypt32.lib。而且两个是在不同地方下载的。会不会版本不一样哦。明天去公司看看。 在网上找个base64编码的c源代码试试吧,很多啊。而且有很多在线编码的网页可以用来验证编码和解码是否正确:http://www1.tc711.com/tool/base64.htm
base64 编码只不过是将 3 个字节扩展成 4 个字节,是的每个字节的有效二进制位为 6 位,即十进制 0 ~ 63 供 64 种状态,故名 base64
我不是很清楚你做编码是使用库函数,还是自己写的代码
但从生成的串上看,肯定是弄错了
是在c语言里编码的时候,长度少了一位,把字符串结束符给截掉了。
改成jpgback = new tchar[length+1];,后面的lentth--删掉,就没有乱码了。
但是还有个问题怎么解决啊,我得到的字串每64个字符就有一个换行。怎么把换行截掉? 对应该是 需要的长度 + 1个结束位
每64个字符就有一个换行?是一个回车一个换行吧?
这是正常的传输格式(rfc 2045),目的是能快速校正传输中的漏码
到解码时删掉就行了
对应该是 需要的长度 + 1个结束位
每64个字符就有一个换行?是一个回车一个换行吧?
这是正常的传输格式(rfc 2045),目的是能快速校正传输中的漏码
到解码时删掉就行了
我现在已经找到办法删掉回车和换行了。
但是,但是又出问题了。。。
传输过去之前的编码是正常的,我能用网上找到的编解码器恢复成图像。
而且我是特地断点检查了发送前的postdata字串里面的,都是对的。
但是一旦传递到php这边,我用$face = $_request['face'];接收传参,立刻die ($face),结果出来的字串,所有的加号(+)全部被替换成了空格。
这是怎么回事啊 我知道这些都能在日后读取的时候处理,但是我们老板不懂技术,我最好是从mysql里面复制出来直接能解码给他看。。。
+ 变成 空格 是 url 解码的功劳
$face = str_replace(' ', '+', $_request['face']);
换回来就是了
$img = base64_decode($face);
还原回图片数据了
其它类似信息

推荐信息