第十一章 繼續(xù)壓縮
二進制轉為36進制的方法,,能夠勝任這個地圖實例的壓縮,。
但如果地圖更大一些,,比如6X6,、7X7大小,就會暴露出一個問題,。
一行的二進制數字有可能需要更多字符來表示,。
比如:
“100110”
這個二進制數字用36進制來表示,得到:
“12”
壓縮后的字符串還是占了2的長度,,效果并不理想吶,。
那么,該怎樣改進呢,?
程序猿靈機一動,,又想到了一種更好的方法。
首先,,將這個二進制數字表示為10進制,,得到“38”:
“100110”-“38”
然后,,將這個“38”看作是字符的UTF-16編碼,,返回對應的字符。
?。↗avaScript代碼)
String.fromCharCode(38),;
調用返回:“&”
沒錯,這個“按位與”符號就是壓縮后的結果,!
這樣的壓縮方案,,更徹底,只需要1個字符...
更酷,!
有了好的方案,,編寫代碼自然是很容易的事情啦。
楊成對地圖信息實例壓縮后,給檢查站的工作人員發(fā)送短信,。
“哥們,,真感謝你”。
科勒文拍了拍他的肩膀,。
此時,,夕陽完全落山,大地被黑暗所籠罩,。
“嘀...嘀...”
科勒文的手機鈴聲及時地響起,。
“游客您好,我是景區(qū)工作人員,,剛收到了你們的坐標信息”,。
“鑒于夜晚來臨,會給搜救工作帶來麻煩”,。
“請你們先找個安全的地方,,耐心等待”。
“我們將派出一臺尋路機器人,,帶你們返回”,。