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)

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-03-09 09:34  西园公子zwj  阅读(1065)  评论(1编辑  收藏  举报