def base64_encode(input, errors='strict'):
assert errors == 'strict'
return (base64.encodebytes(input), len(input))
python类encodebytes()的实例源码
def encode(self, input, final=False):
assert self.errors == 'strict'
return base64.encodebytes(input)
def encrypt(self, source_obj):
encrypter = self._cipher.encryptor()
source = json.dumps(source_obj)
source = source.encode(self._encoding)
need_to_padding = 16 - (len(source) % 16)
if need_to_padding > 0:
source = source + b'\x00' * need_to_padding
enc_data = encrypter.update(source) + encrypter.finalize()
b64_enc_data = base64.encodebytes(enc_data)
return urllib.parse.quote(b64_enc_data)
def download_image_base64(self, url):
response = requests.get(url)
return base64.encodebytes(response.content)
def represent_binary(self, data):
if hasattr(base64, 'encodebytes'):
data = base64.encodebytes(data).decode('ascii')
else:
data = base64.encodestring(data).decode('ascii')
return self.represent_scalar('tag:yaml.org,2002:binary', data, style='|')
def base64_encodebytes(data):
if hasattr(base64, "encodebytes"):
return base64.encodebytes(data)
return base64.encodestring(data)
def test_save_file(self):
self.contents_manager.save({
"type": "file",
"content": "blah-blah-blah",
"format": "text"
}, self.path("test.txt"))
bucket = self.bucket
blob = bucket.blob("test.txt")
self.assertTrue(blob.exists())
try:
self.assertEqual(blob.download_as_string(), b"blah-blah-blah")
finally:
blob.delete()
obj = {"one": 1, "two": [2, 3]}
self.contents_manager.save({
"type": "file",
"content": base64.encodebytes(pickle.dumps(obj)).decode("ascii"),
"format": "base64"
}, self.path("test.pickle"))
bucket = self.bucket
blob = bucket.blob("test.pickle")
self.assertTrue(blob.exists())
try:
self.assertEqual(blob.download_as_string(), pickle.dumps(obj))
finally:
blob.delete()
def sign_sha1(body, pri_key):
'''
sign body with pri_key by hash SHA1, return base64 bytes
body: binary
pur_key: binary
'''
rsa_pri = RSA.importKey(pri_key)
pk = PKCS1_v1_5.new(rsa_pri)
h = SHA.new(body)
cbs = pk.sign(h)
return base64.encodebytes(cbs)
def base64_encode(input, errors='strict'):
assert errors == 'strict'
return (base64.encodebytes(input), len(input))
def encode(self, input, final=False):
assert self.errors == 'strict'
return base64.encodebytes(input)
def encode_image(cls, bpy_image):
import tempfile
import base64
with tempfile.TemporaryDirectory() as directory:
filename = directory + "/i.png"
bpy_image.filepath_raw = filename
bpy_image.save()
return base64.encodebytes(open(filename, "rb").read()).decode('ascii')
def _validate(headers, key, subprotocols):
subproto = None
for k, v in _HEADERS_TO_CHECK.items():
r = headers.get(k, None)
if not r:
return False, None
r = r.lower()
if v != r:
return False, None
if subprotocols:
subproto = headers.get("sec-websocket-protocol", None).lower()
if not subproto or subproto not in [s.lower() for s in subprotocols]:
error("Invalid subprotocol: " + str(subprotocols))
return False, None
result = headers.get("sec-websocket-accept", None)
if not result:
return False, None
result = result.lower()
if isinstance(result, six.text_type):
result = result.encode('utf-8')
value = (key + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11").encode('utf-8')
hashed = base64encode(hashlib.sha1(value).digest()).strip().lower()
success = compare_digest(hashed, result)
if success:
return True, subproto
else:
return False, None
def _create_sec_websocket_key():
randomness = os.urandom(16)
return base64encode(randomness).decode('utf-8').strip()
def _validate(headers, key, subprotocols):
subproto = None
for k, v in _HEADERS_TO_CHECK.items():
r = headers.get(k, None)
if not r:
return False, None
r = r.lower()
if v != r:
return False, None
if subprotocols:
subproto = headers.get("sec-websocket-protocol", None).lower()
if not subproto or subproto not in [s.lower() for s in subprotocols]:
error("Invalid subprotocol: " + str(subprotocols))
return False, None
result = headers.get("sec-websocket-accept", None)
if not result:
return False, None
result = result.lower()
if isinstance(result, six.text_type):
result = result.encode('utf-8')
value = (key + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11").encode('utf-8')
hashed = base64encode(hashlib.sha1(value).digest()).strip().lower()
success = compare_digest(hashed, result)
if success:
return True, subproto
else:
return False, None
def _create_sec_websocket_key():
randomness = os.urandom(16)
return base64encode(randomness).decode('utf-8').strip()
def base64_encodestring(s):
if six.PY2:
return base64.encodestring(s)
else:
if isinstance(s, str):
s = s.encode('utf8')
return base64.encodebytes(s).decode('utf8')
def generate_headers(self):
return {b"Authorization": b"Basic " + encodebytes(
("%s:%s" %(self.username, self.password))
.encode('utf8')).strip(b'\n')
}