ascii
american standard code for information interchange美國標準資訊交換碼
只能表示128個字元
這個大家都是很熟悉的,從32是空格,然後是一堆符號,然後是48~57表示0~9,65~90是a~z,97~122是a~z。
就是很少,也只有英文本母
windows:ansi
然後發展到了ansi
html4:iso-8859-1
iso-8859-1
在html5之前,做**,經常要把前台的資料為iso-8859-1轉換為utf-8然後再進行使用。
html5:utf-8
unicode聯盟(unicode consortium)開發了unicode標準(unicode standard)。他們的目標是使用標註的unicode轉換格式,即utf(unicode transformation format)取代現有的字符集。
unicode 是一種包含所有字元的編碼**(字符集)。utf-8是一種編碼規則。
主要目的是為了不浪費流量,可變長。
utf-8的字元可以是1到4位元組長。utf-8 可以代表 unicode 標準中的任何字元。utf-8 向後相容 ascii。utf-8 是電子郵件和網頁的首選編碼。
等中國人們得到計算機時,已經沒有可以利用的位元組狀態來表示漢字,況且有6000多個常用漢字需要儲存呢。但是這難不倒智慧型的中國人民,我們不客氣地把那些127號之後的奇異符號們直接取消掉, 規定:乙個小於127的字元的意義與原來相同,但兩個大於127的字元連在一起時,就表示乙個漢字,前面的乙個位元組(他稱之為高位元組)從0xa1用到0xf7,後面乙個位元組(低位元組)從0xa1到0xfe,這樣我們就可以組合出大約7000多個簡體漢字了。在這些編碼裡,我們還把數學符號、羅馬希臘的字母、日文的假名們都編進去了,連在 ascii 裡本來就有的數字、標點、字母都統統重新編了兩個位元組長的編碼,這就是常說的」全形」字元,而原來在127號以下的那些就叫」半形」字元了。中國人民看到這樣很不錯,於是就把這種漢字方案叫做 「gb2312「。gb2312 是對 ascii 的中文擴充套件。具體規則為:
全形字符unicode編碼從65281~65374 (十六進製制 0xff01 ~ 0xff5e)
半形字元unicode編碼從33~126 (十六進製制 0x21~ 0x7e)
空格比較特殊,全形為 12288(0x3000),半形為 32(0x20)
而且除空格外,全形/半形按unicode編碼排序在順序上是對應的(半形 + 65248 = 全形)
所以可以直接通過用+-法來處理非空格資料,對空格單獨處理。
def
dbc2sbc
(string):
rstring = ""
for uchar in string:
inside_code = ord(uchar)
if inside_code == 0x3000:
inside_code = 0x0020
else:
inside_code -= 0xfee0
if inside_code < 0x0020
or inside_code > 0x7e:
rstring += uchar
else:
rstring += chr(inside_code)
return rstring
全形半形的對映還是很值得看一下的
for i in range(33, 127):
print(i, chr(i), i+65248, chr(i+65248))
python 抓取網頁資料
利用python進行簡單的資料分析 1 首先要進行分析網頁的html,我們所要抓取的資料是根據銷量排名的手機資訊,所以主要需要抓取手機的型號 銷量,按照 由小見大 的方法來獲取所需要的html資訊,如下圖所示 由上可以看出手機型號所在的html標籤是 h3 手機 是在div中的class屬性為 pr...
網頁資料抓取 爬蟲
資料抓取其實從字面意思就知道它是抓取資料的,在網際網路世界中,資料量是乙個非常大的。有時候靠人為去獲取資料這是乙個非常不明智的。尤其是你需要的資料來自很多不同的地方。網路爬蟲是是一種按照一定的規則,自動地抓取網際網路 資訊的程式或者指令碼。它主要抓取形式有兩種 1種是抓取網頁鏈結,通過url鏈結得到...
網頁資料提取requests etree
針對網頁資料的分析提取,很多都是推薦bs4,個人比較喜歡etree,簡單方便。大致的邏輯就是先requests請求某乙個url,得到網頁的源 pages.content 然後通過etree對源 格式化,變成可解析的格式 etree.html 然後再用xpath提取你需要的內容就可以了,簡單的demo...