以往我以為驗證 Base64 編碼字串只要檢查它是由英文、數字、加號(+)、斜線(/)、等號(=)組成就好,但最近寫某個程式時踢到鐵板。我從原始資料中抓出一段 Base64 字串,無法使用 .NET 中的 Convert.FromBase64String() 對其進行轉換,但將同樣的字串交給 PHP 的 base64_decode() 卻又能正確處理。
經過我研究之後發現,Base64 編碼字串長度必為 4 的倍數,而等號的功能就是加在字串末端,確保其長度為 4 的倍數,因此等號也只會出現在字串末端,並不會出現在中間。此外,由於等號的功能只是要讓字串長度為 4 的倍數,故正確來說等號最多只能有 3 個,PHP 的 base64_decode() 則比較隨和,你高興的話,只要沒有 Out of Memory,要加幾個等號都沒關係 XD
最後整理一下驗證 Base64 編碼字串的方法:
- 字串由英文、數字、加號(+)、斜線(/)組成,末端可能還有 1—3 個等號(=)。
- 字串長度必為 4 的倍數,可以自行在字串末端增減等號的數目以符合此條件。
Google App Engine 即將開始提供收費服務,免費服務內容同時將縮減。
對我比較有影響的部份是頻寬由原來的每天 10 GB 縮減為每天 1 GB,我看不出來這是指對外、對內流量各 1 GB 還是總共 1 GB,如果是後者的話更慘。我目前只用在 Ikariam Graphics CDN 這個 User script 上,但用量已經到達每天 3.x GB :p
這個 1 GB 的限制是針對單一 Application,所以如果 Google App Engine 仍然提供 10 個免費 Application 的話,總共就還有 10 GB 可用。
Mysophobia 是我為了我另一個 blog 而隨便寫的 Theme , HTML 結構上是基於 Ochlophobia 作一些小修改, CSS 則是重新寫過。起初我是沒有很認真地想要設計另一個 Theme ,只想要找一個喜歡的 WordPress Theme 改過來就好,最後我找到了 DePo Clean 。
DePo Clean 有一些我不喜歡的地方,例如正文區太窄、字體太小、HTML 缺乏語意等,我覺得要修改 DePo Clean ,不如直接砍掉重練,所以 Mysophobia 事實上是完全沿用 DePo Clean 的版面設計,只有在字型選擇和其他一些小地方作了修改。
距離上次改版將近一年,沒想到 De Morgan 可以用這麼久 :p 這次改版有幾個原因:
- 我在某次更新時忘了備份標題圖片,而標題圖片對 De Morgan 來說是不可或缺的,所以在正式改版前,我還用了一段時間的 Binadamu ,用了之後才發現不使用 Grid 概念的話,看起來真的會很亂。
- 其實我大概半年前就開始想要改版了,只是一直作不出滿意的 Mockup。
- 最近 Proposal 剛結束,很閒 XD
Read More
我最近突然覺得向下相容是一件錯誤的事。就因為網頁設計師總是向下相容到 IE 6 ,使用者才不願升級為 IE 7 ——— 反正都可以用,當然選擇已經用得順手的舊版瀏覽器。所以本站下次的改版將無視 IE 6 使用者,版面爛掉就爛掉,我不要為 IE 6 作任何 Fix! XD (但 IE 7 使用者我還是會照顧一下)
為了心安,我還是參考了一下本站的流量統計,結果令我相當驚喜———本站近一個月來的 IE 使用者只佔了 51% ,其中大約只有一半為 IE 6 ,而 Firefox 使用者竟然高達 40% 。不過近一個月可能太近,我又看了近半年的資料,其實沒差多少, IE 使用者只佔了 58% ,其中同樣大約一半為 IE 6 ,計算得精確一點的話,本站近半年來只有 32.35% 的訪客使用 IE 6 。雖然 IE 的數字仍然過半,但這比例與一般網站相較,差異已經相當懸殊。綜合以上資料,我認為本站主要客群並不是使用 IE 6 ,我可以安心地寫新時代的網頁 >ω<
剛開始的消息是說伴和亮要出席 a-nation ,當時還不敢太期待 XD 現在則是確定於 9/29 復出,間隔剛好三年。不過… 新的成員中看來沒有大…… orz