2012-04-22 27 views
2

我有一個獨特的複合密鑰,它是一個簡單的串聯JSON結構與Date並置的混合體。這是一個相當複雜的外觀ID。簡化/編碼JSON複合密鑰

"{ foo: bar}Sun Apr 22 2012 12:58:01 GMT+0100 (BST)"

我需要它轉換這個字符串的東西用更少的字符範圍的過程。最好只是字母數字。這個過程不一定是可逆的。

回答

2

只需通過一些散列函數運行此操作,或者對整個id字符串使用Base64編碼即可。

key = window.btoa(id); 

MDN docu link

+0

這是我一直在尋找的過程謝謝。 – user1349460 2012-04-22 12:07:31

+0

@ user1349460:確保IE不支持btoa(另請參閱[瀏覽器兼容性](https://developer.mozilla.org/en/DOM/window.btoa#Browser_compatibility))。 – scessor 2012-04-22 12:23:36

0

一種技術,你可以用它來使用Unix格式的時間,而不是date.toString()

Math.floor(new Date().getTime()/1000) 

我試圖找到整齊地格式化日期的方式,但JavaScript的沒有按」在C/++中沒有任何類似strftime()的東西,或者,嗯,幾乎所有其他語言都是如此。