一、zlib常用函式
常用資料結構:
typedef
struct z_stream_sz_stream;
壓縮初始化:
int deflateinit2 (z_streamp strm,
int level,
int method,
int windowbits,
int memlevel,
int strategy)
;strm: 關聯的資料結構
level: 壓縮級別,壓縮級別是乙個0
-9的數字,0壓縮速度最快(壓縮的過程),9壓縮速度最慢,壓縮率最大,0不壓縮數
method: 壓縮的模式,現在只有一種。z_deflated(表示數字8)
windowbits: 表示處理raw deflate的方法。windowbits為8.
.15,也可以為-8..
.-15。當值為16時,將會加上乙個簡單gzip頭部和尾部。
memlevel:指定的內部壓縮狀態,應該分配多少記憶體。 memlevel=
1使用的最小記憶體,但很慢,降低了壓縮比; memlevel=
9使用的最大記憶體以獲得最佳的速度。預設值是8。請參閱作為的函式windowbits和memlevel的使用的總記憶體zconf.h。
strategy:壓縮的策略
壓縮:
int
deflate
(z_streamp strm,
int flush)
;strm:關聯的資料結構,要壓縮的資料、長度、壓縮資料的存放位置和可用大小,都在其中設定的
flush: 採用何種法師將壓縮的資料寫到緩衝區中。
壓縮結束:
int deflateend (z_streamp strm)
;//關聯的資料結構
二、url的組成
80/path/to/myfile.html?key1=value1&key2=value2#somewhereinthedocument協議、網域名稱、埠、伺服器上的檔案路徑、引數
三、正規表示式的使用
std::regex pattern
("^"
+i.first+
"|")
;//定義要匹配的字元
std::cmatch m;
//匹配完成得到的結果
bool std::
regex_search
(url.
c_str()
,m.pattern)
;//搜尋
從零實現http (1)以oop的方式實現http
一 http報文結構 二 具體實現 建立 繫結 監聽埠 執行緒函式,http解析函式 listen第二個引數為連線請求佇列長度,5代表最多同時接受5個連線請求 返回的報文整體內容 該http請求方法 string url 請求url string version http版本,實現的是http1.1...
從零實現 SD卡
cubemx軟體版本是v4.23.0,晶元型號是stm32f103zet6,sd卡是閃迪的64g tf卡,然後用了轉大卡的卡槽。我起初是按照原子的實驗去做,先驗證自己的sd卡是好使的。我買的閃迪64g tf卡,用tf卡轉sd卡槽,充當sd卡。stm32f103支援sdio,這個sdio就如同fmc支...
從零學習Swift 2
定義let 定義常量,一經賦值不允許再修改 var 定義變數,賦值之後仍然可以修改 常量 定義常量並且直接設定數值 let x 20 常量數值一經設定,不能修改,以下 會報錯 x 30 使用 型別 僅僅只定義型別,而沒有設定數值 let x1 int 常量有一次設定數值的機會,以下 沒有問題,因為 ...