js 的base64, QPcode 的解碼函數(shù)
我們公司是做sage的 crm 的。現(xiàn)在有個(gè)項(xiàng)目需要sagecrm里面的郵件收發(fā)功能。其實(shí)系統(tǒng)里面的收發(fā)功能挺不錯(cuò)。收到客戶的郵件之后直接把郵件內(nèi)容和附件保存起來(lái),還可以和系統(tǒng)其他 線索,機(jī)會(huì),客戶向關(guān)聯(lián)。可以說(shuō)功能和強(qiáng)大。 可惜啊,老板說(shuō)sage crm 只有6.1 才有中文版,是有更高版本的,就是沒有中文版。 而這個(gè)版本的中文收郵件會(huì)出現(xiàn)亂碼。 我們發(fā)問題反饋到sage,結(jié)果他們國(guó)外的開發(fā)部說(shuō) 他們已經(jīng)不在對(duì)6.1 對(duì)技術(shù)支持了。 暈吧。 花了幾天才研究透是 base64, QPcode 的郵件解碼問題。 上網(wǎng)找了一些別人的資料,網(wǎng)上有很多用vb 或者C#寫的。但是系統(tǒng)的代碼是asp + js 的所以最好是用js 的:
base 64
qpcode
源文件是js后綴的。
qpcode 其實(shí)和我們的url差不多。只是url 是用% 號(hào)來(lái)間隔16進(jìn)制的字符。而qpcode 是用 = 號(hào)來(lái)間隔的。至于解碼的原理網(wǎng)上比較多。我就不貼了。
很可惜的是,當(dāng)我們可以用js來(lái)解碼的時(shí)候。才發(fā)現(xiàn),原來(lái)系統(tǒng)對(duì)base64的提取過程中,由于base64 編碼后可能出現(xiàn) 斜杠,所以系統(tǒng)把斜杠和斜杠之前的編碼截取去掉了。 這樣即使我們有解碼函數(shù)也沒辦法還原。而系統(tǒng)的很多函數(shù)的都是sage封裝到dll 的。
很無(wú)奈,最終應(yīng)該是告訴客戶,這個(gè)功能不能用。
作者:Novus
出處:http://www.rzrgm.cn/novus/
本文版權(quán)歸作者和博客園共有,歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處。

浙公網(wǎng)安備 33010602011771號(hào)