url去重方法和字符串編碼

url去重方法

1.將訪問過的url保存到數據庫中
應用簡單,效率低
2.將訪問過的url保存到set中,只需o(1)的代價就可以查詢url
效率高,但是隨着數據的增加,內存會出現佔用過大。
100000000*2byte*50字符/1024/1024/1024=9G
3.url經過md5編碼等方法哈希後保存到set中
固定編碼,壓縮url,節省了內存
4.用bitmap方法,將訪問過的url通過hash函數映射到某一位
5.boomfilter方法對bitmap進行改進,多重hash函數降低衝突

字符串編碼

1.計算機只能處理數字,文本轉換爲數字才能處理。計算機中8個bit作爲一個字節,所以一個字節可以表示最大的數字就是255
2.計算機是美國人發明的,所以一個字節可以表示所有的字符,所以ASCII(一個字節)編碼就成爲美國人的標準編碼
3.中國指定了GB2312編碼,用兩個字節表示一個漢字。GB2312還把ASCII包含進去了。多國標準語言混合顯示必然會導致亂碼的出現
4.unicode的出現,將所有的語言統一到一套編碼裏
5.ASCII和unicode編碼的區別

字母A用ASCII編碼十進制是65,二進制是0100 0001
漢字“中”超出了ASCII編碼的範圍,用unicode編碼是20013,二進制是01001110 00101101
A用unicode編碼只需要前面補0就可以了,二進制是0000 0000 0100 0001
6.解決了亂碼問題,但是內容全是英文,unicode編碼比ASCII需要多一倍的存儲空間,傳輸需要多一倍的傳輸
7.出現了“UTF-8”把英文變長一個字節,漢字3個字節,特別生僻的變成4-8字節,如果傳輸大量英文,utf8作用就非常明顯

編碼格式演示
UTF-8
python2


python3




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章