python之數據類型字節,str,base64, json格式


                             python數據類型之間相互轉換!

 

 1.字節和字符串之間轉換:

》1. bytes轉str類型:

 》 2.str轉bytes類型:

# 1.str to bytes 字符串轉字節
byte = bytes('you'.encode('utf8'))
print(byte)   # b'you'

# 2.bytes to str  字節轉字符串
st = str(byte, encoding='utf8')
print(st)   # you  

》3.使用encode(編碼),decode(解碼)進行字符串和字節之間的轉換:

# str to bytes  字符串轉為字節
str.encode(str)

# bytes to str  字節轉為字符串
bytes.decode(bytes)

 

 2.base64編碼:

 引用廖雪峰大神的對base64的介紹:Base64是一種用64個字符來表示任意二進制數據的方法。如果要編碼的二進制數據不是3的倍數,最后會剩下1個或2個字節怎么辦?Base64用\x00字節在末尾補足后,再在編碼的末尾加上1個或2個=號,表示補了多少字節,解碼的時候,會自動去掉。

》1.使用python內置的base64直接進行base64的編碼:

import base64

z = base64.b64encode(b'binary\x00string')
print(z)    # b'YmluYXJ5AHN0cmluZw=='

 

》2.由於標准的Base64編碼后可能出現字符+/,在URL中就不能直接作為參數,所以又有一種"url safe"的base64編碼,其實就是把字符+/分別變成-_

 

>>> base64.b64encode(b'i\xb7\x1d\xfb\xef\xff')
b'abcd++//'
>>> base64.urlsafe_b64encode(b'i\xb7\x1d\xfb\xef\xff')
b'abcd--__'
>>> base64.urlsafe_b64decode('abcd--__')
b'i\xb7\x1d\xfb\xef\xff'

 

》》總結:Base64是一種任意二進制到文本字符串的編碼方法,常用於在URL、Cookie、網頁中傳輸少量二進制數據!

 2.json詳解:

1.json.dumps()

json.dumps 用於將 Python 對象編碼成 JSON 字符串:   python對象→json字符串

 

import json

data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]

json = json.dumps(data)
print (json)          # [{"a": 1, "c": 3, "b": 2, "e": 5, "d": 4}]

》 2.json.loads()

 json.loads 用於解碼 JSON 數據。該函數返回 Python 字段的數據類型:       json字符串→ python對象

 

import json

data = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

jso = json.dumps(data)
print(type(jso))            # <class 'str'>
print(jso)      # {"d": 4, "c": 3, "b": 2, "a": 1, "e": 5} 
load_json = json.loads(jso)
print(type(load_json))    # <class 'dict'>
print(load_json)      # {'d': 4, 'c': 3, 'b': 2, 'a': 1, 'e': 5}  

 

load和dump主要是用於文件的讀取,和寫入:

》 3.json.dump()

用於json文件的寫入:

with open('data.json', 'w') as f:
    json.dump(data, f)

# Reading data back
with open('data.json', 'r') as f:
    data = json.load(f)

 

 

》 4.json.load()

 用於讀取json文件的數據:

with open('data.json', 'w') as f:
    json.dump(data, f)

# Reading data back
with open('data.json', 'r') as f:
    data = json.load(f)

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM