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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

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

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

同關(guān)系型數(shù)據(jù)庫進(jìn)行交互

在Python中,表達(dá)行數(shù)據(jù)的表尊方式就是采用元組序列。當(dāng)數(shù)據(jù)以這種形式呈現(xiàn)的時候,通過Python標(biāo)準(zhǔn)API來同關(guān)系型數(shù)據(jù)庫進(jìn)行交互相對來說就顯得很直接了。這個API的要點(diǎn)就是數(shù)據(jù)庫上的所有操作都通過SQL查詢來實現(xiàn),每一行輸入或輸出數(shù)據(jù)都由一個元組來表示。

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

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

>>> 

然后我們創(chuàng)建一個游標(biāo)

>>> 

要在數(shù)據(jù)中插入行列,可以這樣:

>>> 

要執(zhí)行查詢操作就可以這樣:

>>> 

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

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

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

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

編碼和解碼16進(jìn)制的數(shù)字

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

>>> 

當(dāng)然,你用base64模塊也不是不行:

>>> 

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

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

Base64的編碼和解碼

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

>>> 

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

參考書目

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

Github地址:

yidao620c/python3-cookbook?github.com

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。