日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Python 十六进制转Base64_马克的Python学习笔记#数据编码与处理 4

發布時間:2023/11/27 生活经验 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 十六进制转Base64_马克的Python学习笔记#数据编码与处理 4 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

同關系型數據庫進行交互

在Python中,表達行數據的表尊方式就是采用元組序列。當數據以這種形式呈現的時候,通過Python標準API來同關系型數據庫進行交互相對來說就顯得很直接了。這個API的要點就是數據庫上的所有操作都通過SQL查詢來實現,每一行輸入或輸出數據都由一個元組來表示。

我們可以使用sqlite3模塊,如果正在使用一個不同的數據庫,就需要安裝一個第三方的模塊來支持。但是,底層的編程接口即使不完全的話也差不多事一致的

第一步就是連接數據庫。一般來說,要調用一個connect()函數,提供類似數據庫名稱,主機名,用戶名和密碼這樣的參數以及一些其它需要的細節,舉個例子:

>>> 

然后我們創建一個游標

>>> 

要在數據中插入行列,可以這樣:

>>> 

要執行查詢操作就可以這樣:

>>> 

簡單地說,同數據庫的交互其實是一件非常直截了當的事情。只要組成SQL語句然后將它們傳遞給底層的模塊就可以更行數據庫或者取出數據了。但有些時候我們會遇到一些比較棘手的問題,比如我們需要將數據庫中的數據映射到Python的類型中。對于像日期這樣的條目,最常見的就是使用datetime模塊中的datetime實例或者time模塊里的時間戳

對于數值類的數據,尤其是涉及小數的金融類數據,這些數字可以用decimal模塊中的Decimal實例來表示

注意,我們絕對不應該用Python的字符串格式化操作符或者.format()方法來創建SQL語句的字符串,這樣很容易遭受SQL注入攻擊

對于簡單地將數據從數據庫表項中取出和輸入,使用數據庫API就完全足夠了。如果要處理更加復雜的任務,那么使用一種更高層次的接口就顯得非常有意義了

編碼和解碼16進制的數字

我們需要編碼或解碼由16進制組成的原始字符串,我們可以使用binascii模塊:

>>> 

當然,你用base64模塊也不是不行:

>>> 

對于大部分情況來說,采用上面給出的函數對16進制數進行轉換歐式簡單直接的,而這兩種技術的主要區別就在于大寫轉換。base64的方法只能對大寫形式的16進制數進行操作,而binascii模塊能夠處理任意一種情況。

注意:當解碼16進制的時候,b16decode()和a2b_hex()函數可接受字節串或者是Unicode字符串作為輸入。但是,這些字符串中必須且只能包含ASCII編碼的十六進制數字

Base64的編碼和解碼

用b64encode()和b64decode()這兩個函數就好

>>> 

Base64編碼只能用在面向字節的數據上,比如說字節串和字節數組,此外,編碼過程的輸出總是一個字節串,如果將Base64編碼的數據同Unicode文本混在一起,那么可能需要多個解碼步驟。

參考書目

《Python CookBook》作者:【美】 David Beazley, Brian K. Jones

Github地址:

yidao620c/python3-cookbook?github.com

總結

以上是生活随笔為你收集整理的Python 十六进制转Base64_马克的Python学习笔记#数据编码与处理 4的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。