Hướng dẫn check file type from base64 python - kiểm tra loại tệp từ base64 python

Tôi đã viết mã trong Lambda, trong đó sẽ tìm thấy loại hình ảnh và cũng kiểm tra Base64 là hình ảnh hay không.

Mã sau đây chắc chắn sẽ giúp ai đó.

import base64
import imghdr
def lambda_handler(event, context):
    image_data = event['img64']    # crate "json event" in lambda 
                                   # Sample JSON Event ========>  { "img64" : BASE64 of an Image }
                                   # Get BASE64 Data of image in image_data variable.
    sample = base64.b64decode(image_data)      # Decode the base64 data and assing to sample.

    for tf in imghdr.tests:
        res = tf(sample, None)
        if res:
            break;
    print("Extension OR Type of the Image =====>",res)
    if(res==None): # if res is None then BASE64 is of not an image.
            return {
            'status': 'False',
           'statusCode': 400,
           'message': 'It is not image, Only images allowed'
          }
    else:
        return 'It is image'  

Lưu ý:- Mã trên được viết Lambda (AWS) bằng Python, bạn có thể sao chép và dán mã sau vào máy cục bộ của bạn và kiểm tra nó như sau.

import base64
import imghdr
image_data = "BASE64 OF AN IMAGE"
sample = base64.b64decode(image_data)      # Decode the base64 data and     assing to sample.

for tf in imghdr.tests:
    res = tf(sample, None)
    if res:
        break;
print("Extension OR Type of the Image =====>",res)
if(res==None):
    print('It is not image, Only images allowed')
else:
    print('It is image')

Mục 5.2, mã hóa chuyển đổi nội dung cơ sở, cơ sở, cung cấp định nghĩa về mã hóa Base64. Lib/base64.py


Kiểu dữ liệu của Base64 là gì?RFC 4648, which defines the Base16, Base32, and Base64 algorithms, and for the de-facto standard Ascii85 and Base85 encodings.

Base64 là một nhóm các sơ đồ mã hóa nhị phân từ văn bản đại diện cho dữ liệu nhị phân ở định dạng chuỗi ASCII bằng cách dịch nó thành biểu diễn Radix-64. Bằng cách chỉ bao gồm các ký tự ASCII, các chuỗi Base64 thường an toàn URL và đó là lý do tại sao chúng có thể được sử dụng để mã hóa dữ liệu trong URL dữ liệu.RFC 4648 encodings are suitable for encoding binary data so that it can be safely sent by email, used as parts of URLs, or included as part of an HTTP POST request. The encoding algorithm is not the same as the uuencode program.

Chúng ta có thể lấy tên tệp từ Base64 không?bytes-like objects to ASCII bytes, and decoding bytes-like objects or strings containing ASCII to bytes. Both base-64 alphabets defined in RFC 4648 (normal, and URL- and filesystem-safe) are supported.

Giao diện kế thừa không hỗ trợ giải mã từ các chuỗi, nhưng nó cung cấp các chức năng để mã hóa và giải mã đến và từ các đối tượng tệp. Nó chỉ hỗ trợ bảng chữ cái tiêu chuẩn Base64 và nó sẽ thêm Newlines mỗi 76 ký tự theo RFC 2045. Lưu ý rằng nếu bạn đang tìm kiếm hỗ trợ RFC 2045, bạn có thể muốn xem gói email thay thế.file objects. It only supports the Base64 standard alphabet, and it adds newlines every 76 characters as per RFC 2045. Note that if you are looking for RFC 2045 support you probably want to be looking at the email package instead.

Thay đổi trong phiên bản 3.3: Các chuỗi unicode chỉ ASCII-ASCII-hiện được chấp nhận bởi các chức năng giải mã của giao diện hiện đại.ASCII-only Unicode strings are now accepted by the decoding functions of the modern interface.

Thay đổi trong phiên bản 3.4: Bất kỳ đối tượng giống như byte nào hiện được chấp nhận bởi tất cả các hàm mã hóa và giải mã trong mô-đun này. Hỗ trợ ASCII85/Base85 được thêm vào.Any bytes-like objects are now accepted by all encoding and decoding functions in this module. Ascii85/Base85 support added.

Giao diện hiện đại cung cấp:

base64.b64encode (s, altchars = none) ¶b64encode(s, altchars=None)

Mã hóa đối tượng giống như byte S bằng cách sử dụng base64 và trả về bytes được mã hóa.bytes-like object s using Base64 and return the encoded bytes.

Altchars tùy chọn phải là một đối tượng giống như byte có độ dài ít nhất 2 (các ký tự bổ sung bị bỏ qua) chỉ định bảng chữ cái thay thế cho các ký tự +/. Điều này cho phép một ứng dụng để ví dụ: Tạo URL hoặc hệ thống tập tin Safe Base64 String. Mặc định là None, trong đó bảng chữ cái Base64 tiêu chuẩn được sử dụng.bytes-like object of at least length 2 (additional characters are ignored) which specifies an alternative alphabet for the + and / characters. This allows an application to e.g. generate URL or filesystem safe Base64 strings. The default is None, for which the standard Base64 alphabet is used.

base64.b64decode (s, altchars = none, xác nhận = false) ¶b64decode(s, altchars=None, validate=False)

Giải mã base64 được mã hóa đối tượng giống như byte hoặc chuỗi ASCII S và trả về bytes được giải mã.bytes-like object or ASCII string s and return the decoded bytes.

Altchars tùy chọn phải là một đối tượng giống như byte hoặc chuỗi ASCII có độ dài ít nhất 2 (các ký tự bổ sung bị bỏ qua) chỉ định bảng chữ cái thay thế được sử dụng thay vì các ký tự +/.bytes-like object or ASCII string of at least length 2 (additional characters are ignored) which specifies the alternative alphabet used instead of the + and / characters.

Một ngoại lệ

import base64
import imghdr
image_data = "BASE64 OF AN IMAGE"
sample = base64.b64decode(image_data)      # Decode the base64 data and     assing to sample.

for tf in imghdr.tests:
    res = tf(sample, None)
    if res:
        break;
print("Extension OR Type of the Image =====>",res)
if(res==None):
    print('It is not image, Only images allowed')
else:
    print('It is image')
3 được nâng lên nếu s được đệm không chính xác.

Nếu xác thực là

import base64
import imghdr
image_data = "BASE64 OF AN IMAGE"
sample = base64.b64decode(image_data)      # Decode the base64 data and     assing to sample.

for tf in imghdr.tests:
    res = tf(sample, None)
    if res:
        break;
print("Extension OR Type of the Image =====>",res)
if(res==None):
    print('It is not image, Only images allowed')
else:
    print('It is image')
4 (mặc định), các ký tự không nằm trong bảng chữ cái cơ sở bình thường-64 cũng như bảng chữ cái thay thế bị loại bỏ trước khi kiểm tra đệm. Nếu xác thực là
import base64
import imghdr
image_data = "BASE64 OF AN IMAGE"
sample = base64.b64decode(image_data)      # Decode the base64 data and     assing to sample.

for tf in imghdr.tests:
    res = tf(sample, None)
    if res:
        break;
print("Extension OR Type of the Image =====>",res)
if(res==None):
    print('It is not image, Only images allowed')
else:
    print('It is image')
5, các ký tự không phải alphabet này trong đầu vào dẫn đến
import base64
import imghdr
image_data = "BASE64 OF AN IMAGE"
sample = base64.b64decode(image_data)      # Decode the base64 data and     assing to sample.

for tf in imghdr.tests:
    res = tf(sample, None)
    if res:
        break;
print("Extension OR Type of the Image =====>",res)
if(res==None):
    print('It is not image, Only images allowed')
else:
    print('It is image')
3.

Để biết thêm thông tin về kiểm tra Strict Base64 nghiêm ngặt, xem

import base64
import imghdr
image_data = "BASE64 OF AN IMAGE"
sample = base64.b64decode(image_data)      # Decode the base64 data and     assing to sample.

for tf in imghdr.tests:
    res = tf(sample, None)
    if res:
        break;
print("Extension OR Type of the Image =====>",res)
if(res==None):
    print('It is not image, Only images allowed')
else:
    print('It is image')
7

base64.standard_b64encode (s) ¶standard_b64encode(s)

Mã hóa đối tượng giống như byte bằng bảng chữ cái Base64 tiêu chuẩn và trả về bytes được mã hóa.bytes-like object s using the standard Base64 alphabet and return the encoded bytes.

base64.standard_b64decode (s) ¶standard_b64decode(s)

Giải mã đối tượng giống như byte hoặc chuỗi ASCII S bằng cách sử dụng bảng chữ cái Base64 tiêu chuẩn và trả về bytes được giải mã.bytes-like object or ASCII string s using the standard Base64 alphabet and return the decoded bytes.

base64.urlsafe_b64encode (s) ¶urlsafe_b64encode(s)

Mã hóa đối tượng giống như byte bằng cách sử dụng bảng chữ cái an toàn url và hệ thống tập tin, thay thế

>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'
>>> data = base64.b64decode(encoded)
>>> data
b'data to be encoded'
0 thay vì +
>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'
>>> data = base64.b64decode(encoded)
>>> data
b'data to be encoded'
2 thay vì / trong bảng chữ cái Base64 tiêu chuẩn và trả về bytes được mã hóa. Kết quả vẫn có thể chứa
>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'
>>> data = base64.b64decode(encoded)
>>> data
b'data to be encoded'
5.bytes-like object s using the URL- and filesystem-safe alphabet, which substitutes
>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'
>>> data = base64.b64decode(encoded)
>>> data
b'data to be encoded'
0 instead of + and
>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'
>>> data = base64.b64decode(encoded)
>>> data
b'data to be encoded'
2 instead of / in the standard Base64 alphabet, and return the encoded bytes. The result can still contain
>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'
>>> data = base64.b64decode(encoded)
>>> data
b'data to be encoded'
5.

base64.urlsafe_b64decode (s) ¶urlsafe_b64decode(s)

Giải mã đối tượng giống như byte hoặc chuỗi ASCII bằng bảng chữ cái an toàn URL và hệ thống tập tin, thay thế

>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'
>>> data = base64.b64decode(encoded)
>>> data
b'data to be encoded'
0 thay vì +
>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'
>>> data = base64.b64decode(encoded)
>>> data
b'data to be encoded'
2 thay vì / trong bảng chữ cái Base64 tiêu chuẩn và trả về bytes được giải mã.bytes-like object or ASCII string s using the URL- and filesystem-safe alphabet, which substitutes
>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'
>>> data = base64.b64decode(encoded)
>>> data
b'data to be encoded'
0 instead of + and
>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'
>>> data = base64.b64decode(encoded)
>>> data
b'data to be encoded'
2 instead of / in the standard Base64 alphabet, and return the decoded bytes.

base64.b32encode (s) ¶b32encode(s)

Mã hóa đối tượng giống như byte S bằng base32 và trả về bytes được mã hóa.bytes-like object s using Base32 and return the encoded bytes.

base64.b32decode (s, caseprint = false, map01 = none) ¶b32decode(s, casefold=False, map01=None)

Giải mã base32 được mã hóa đối tượng giống như byte hoặc chuỗi ASCII S và trả về bytes được giải mã.bytes-like object or ASCII string s and return the decoded bytes.

Tùy chọn Caseprint là một lá cờ chỉ định xem bảng chữ cái viết thường có được chấp nhận làm đầu vào hay không. Đối với mục đích bảo mật, mặc định là

import base64
import imghdr
image_data = "BASE64 OF AN IMAGE"
sample = base64.b64decode(image_data)      # Decode the base64 data and     assing to sample.

for tf in imghdr.tests:
    res = tf(sample, None)
    if res:
        break;
print("Extension OR Type of the Image =====>",res)
if(res==None):
    print('It is not image, Only images allowed')
else:
    print('It is image')
4.

RFC 4648 cho phép ánh xạ tùy chọn của chữ số 0 (không) vào chữ O (OH) và để ánh xạ tùy chọn của chữ số 1 (một) cho chữ I (mắt) hoặc chữ L (EL). Đối số tùy chọn MAP01 Khi không None, chỉ định chữ số nào chữ số 1 nên được ánh xạ tới (khi MAP01 không phải là None, chữ số 0 luôn được ánh xạ tới chữ O). Đối với mục đích bảo mật, mặc định là None, do đó 0 và 1 không được phép vào đầu vào. allows for optional mapping of the digit 0 (zero) to the letter O (oh), and for optional mapping of the digit 1 (one) to either the letter I (eye) or letter L (el). The optional argument map01 when not None, specifies which letter the digit 1 should be mapped to (when map01 is not None, the digit 0 is always mapped to the letter O). For security purposes the default is None, so that 0 and 1 are not allowed in the input.

Một

import base64
import imghdr
image_data = "BASE64 OF AN IMAGE"
sample = base64.b64decode(image_data)      # Decode the base64 data and     assing to sample.

for tf in imghdr.tests:
    res = tf(sample, None)
    if res:
        break;
print("Extension OR Type of the Image =====>",res)
if(res==None):
    print('It is not image, Only images allowed')
else:
    print('It is image')
3 được nâng lên nếu s được đệm không chính xác hoặc nếu có các ký tự không phải là alphabet có trong đầu vào.

base64.b32hexencode (s) ¶b32hexencode(s)

Tương tự như bytes8 nhưng sử dụng bảng chữ cái hex mở rộng, như được định nghĩa trong RFC 4648.RFC 4648.

Mới trong phiên bản 3.10.

base64.b32hexdecode (s, caseprint = false) ¶b32hexdecode(s, casefold=False)

Tương tự như bytes9 nhưng sử dụng bảng chữ cái hex mở rộng, như được định nghĩa trong RFC 4648.RFC 4648.

Phiên bản này không cho phép chữ số 0 (không) vào chữ O (OH) và chữ số 1 (một) cho bản đồ chữ I (mắt) hoặc chữ L (el), tất cả các ký tự này được bao gồm trong bảng chữ cái hex mở rộng và không thể hoán đổi cho nhau.

Mới trong phiên bản 3.10.

base64.b32hexdecode (s, caseprint = false) ¶b16encode(s)

Tương tự như bytes9 nhưng sử dụng bảng chữ cái hex mở rộng, như được định nghĩa trong RFC 4648.bytes-like object s using Base16 and return the encoded bytes.

Phiên bản này không cho phép chữ số 0 (không) vào chữ O (OH) và chữ số 1 (một) cho bản đồ chữ I (mắt) hoặc chữ L (el), tất cả các ký tự này được bao gồm trong bảng chữ cái hex mở rộng và không thể hoán đổi cho nhau.b16decode(s, casefold=False)

base64.b16encode (s) ¶bytes-like object or ASCII string s and return the decoded bytes.

Tùy chọn Caseprint là một lá cờ chỉ định xem bảng chữ cái viết thường có được chấp nhận làm đầu vào hay không. Đối với mục đích bảo mật, mặc định là

import base64
import imghdr
image_data = "BASE64 OF AN IMAGE"
sample = base64.b64decode(image_data)      # Decode the base64 data and     assing to sample.

for tf in imghdr.tests:
    res = tf(sample, None)
    if res:
        break;
print("Extension OR Type of the Image =====>",res)
if(res==None):
    print('It is not image, Only images allowed')
else:
    print('It is image')
4.

Một

import base64
import imghdr
image_data = "BASE64 OF AN IMAGE"
sample = base64.b64decode(image_data)      # Decode the base64 data and     assing to sample.

for tf in imghdr.tests:
    res = tf(sample, None)
    if res:
        break;
print("Extension OR Type of the Image =====>",res)
if(res==None):
    print('It is not image, Only images allowed')
else:
    print('It is image')
3 được nâng lên nếu s được đệm không chính xác hoặc nếu có các ký tự không phải là alphabet có trong đầu vào.

base64.a85encode (b, *, nếp gấp = false, wrapcol = 0, pad = false, adobe = false) ¶a85encode(b, *, foldspaces=False, wrapcol=0, pad=False, adobe=False)

Mã hóa đối tượng giống như byte B bằng cách sử dụng ASCII85 và trả về bytes được mã hóa.bytes-like object b using Ascii85 and return the encoded bytes.

FoldSpaces là một lá cờ tùy chọn sử dụng chuỗi ngắn đặc biệt ‘Y, thay vì 4 không gian liên tiếp (ASCII 0x20) được hỗ trợ bởi‘ BTOA. Tính năng này không được hỗ trợ bởi mã hóa ASCII85 tiêu chuẩn của ASCII85.

WRAPCOL điều khiển xem đầu ra có nên có các ký tự mới (bytes5) được thêm vào nó không. Nếu đây là không khác, mỗi dòng đầu ra sẽ dài nhất là nhiều ký tự.

PAD điều khiển xem đầu vào có được đệm thành bội số 4 trước khi mã hóa hay không. Lưu ý rằng việc triển khai bytes6 luôn luôn là miếng đệm.

Adobe kiểm soát xem chuỗi byte được mã hóa được đóng khung bằng bytes7 và bytes8, được sử dụng bởi việc triển khai Adobe.

Mới trong phiên bản 3.4.

base64.a85decode (b, *, nếp gấp = false, adobe = false, ignorechars = b '\ t \ n \ r \ x0b') ¶a85decode(b, *, foldspaces=False, adobe=False, ignorechars=b' \t\n\r\x0b')

Giải mã ASCII85 được mã hóa đối tượng giống như byte hoặc chuỗi ASCII B và trả về bytes được giải mã.bytes-like object or ASCII string b and return the decoded bytes.

FoldSpaces là một lá cờ chỉ định liệu chuỗi ngắn ‘Y có nên được chấp nhận là tốc ký cho 4 không gian liên tiếp (ASCII 0x20). Tính năng này không được hỗ trợ bởi mã hóa ASCII85 tiêu chuẩn của ASCII85.

Adobe có kiểm soát xem trình tự đầu vào có định dạng Adobe ASCII85 hay không (nghĩa là được đóng khung với).

IgnoreChar phải là một đối tượng giống như byte hoặc chuỗi ASCII chứa các ký tự để bỏ qua từ đầu vào. Điều này chỉ nên chứa các ký tự khoảng trắng và theo mặc định chứa tất cả các ký tự khoảng trắng trong ASCII.bytes-like object or ASCII string containing characters to ignore from the input. This should only contain whitespace characters, and by default contains all whitespace characters in ASCII.

Mới trong phiên bản 3.4.

base64.a85decode (b, *, nếp gấp = false, adobe = false, ignorechars = b '\ t \ n \ r \ x0b') ¶b85encode(b, pad=False)

Giải mã ASCII85 được mã hóa đối tượng giống như byte hoặc chuỗi ASCII B và trả về bytes được giải mã.bytes-like object b using base85 (as used in e.g. git-style binary diffs) and return the encoded bytes.

FoldSpaces là một lá cờ chỉ định liệu chuỗi ngắn ‘Y có nên được chấp nhận là tốc ký cho 4 không gian liên tiếp (ASCII 0x20). Tính năng này không được hỗ trợ bởi mã hóa ASCII85 tiêu chuẩn của ASCII85.

Mới trong phiên bản 3.4.

base64.a85decode (b, *, nếp gấp = false, adobe = false, ignorechars = b '\ t \ n \ r \ x0b') ¶b85decode(b)

Giải mã ASCII85 được mã hóa đối tượng giống như byte hoặc chuỗi ASCII B và trả về bytes được giải mã.bytes-like object or ASCII string b and return the decoded bytes. Padding is implicitly removed, if necessary.

Mới trong phiên bản 3.4.

base64.a85decode (b, *, nếp gấp = false, adobe = false, ignorechars = b '\ t \ n \ r \ x0b') ¶

Giải mã ASCII85 được mã hóa đối tượng giống như byte hoặc chuỗi ASCII B và trả về bytes được giải mã.decode(input, output)

FoldSpaces là một lá cờ chỉ định liệu chuỗi ngắn ‘Y có nên được chấp nhận là tốc ký cho 4 không gian liên tiếp (ASCII 0x20). Tính năng này không được hỗ trợ bởi mã hóa ASCII85 tiêu chuẩn của ASCII85.file objects. input will be read until email3 returns an empty bytes object.

Adobe có kiểm soát xem trình tự đầu vào có định dạng Adobe ASCII85 hay không (nghĩa là được đóng khung với).decodebytes(s)

IgnoreChar phải là một đối tượng giống như byte hoặc chuỗi ASCII chứa các ký tự để bỏ qua từ đầu vào. Điều này chỉ nên chứa các ký tự khoảng trắng và theo mặc định chứa tất cả các ký tự khoảng trắng trong ASCII.bytes-like object s, which must contain one or more lines of base64 encoded data, and return the decoded bytes.

base64.b85encode (b, pad = false) ¶

Mã hóa đối tượng giống như byte B bằng base85 (như được sử dụng trong ví dụ: Diffs nhị phân kiểu Git) và trả về bytes được mã hóa.encode(input, output)

Nếu PAD là đúng, đầu vào được đệm với email1 vì vậy độ dài của nó là bội số của 4 byte trước khi mã hóa.file objects. input will be read until email5 returns an empty bytes object. email6 inserts a newline character (bytes5) after every 76 bytes of the output, as well as ensuring that the output always ends with a newline, as per RFC 2045 (MIME).

base64.b85decode (b) ¶encodebytes(s)

Giải mã đối tượng giống như byte được mã hóa base85 hoặc chuỗi ASCII B và trả về bytes được giải mã. Đệm được loại bỏ ngầm, nếu cần thiết.bytes-like object s, which can contain arbitrary binary data, and return bytes containing the base64-encoded data, with newlines (bytes5) inserted after every 76 bytes of output, and ensuring that there is a trailing newline, as per RFC 2045 (MIME).

base64.b85encode (b, pad = false) ¶

Mã hóa đối tượng giống như byte B bằng base85 (như được sử dụng trong ví dụ: Diffs nhị phân kiểu Git) và trả về bytes được mã hóa.

>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'
>>> data = base64.b64decode(encoded)
>>> data
b'data to be encoded'

Nếu PAD là đúng, đầu vào được đệm với email1 vì vậy độ dài của nó là bội số của 4 byte trước khi mã hóa.

base64.b85decode (b) ¶RFC 4648 (section 12); it’s recommended to review the security section for any code deployed to production.

Giải mã đối tượng giống như byte được mã hóa base85 hoặc chuỗi ASCII B và trả về bytes được giải mã. Đệm được loại bỏ ngầm, nếu cần thiết.

Giao diện kế thừa:

base64.decode (đầu vào, đầu ra) ¶

Giải mã nội dung của tệp đầu vào nhị phân và ghi dữ liệu nhị phân kết quả vào tệp đầu ra. Đầu vào và đầu ra phải là đối tượng tệp. Đầu vào sẽ được đọc cho đến khi email3 trả về một đối tượng byte trống. - MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies

base64.decodebytes (s) ¶

Kiểu dữ liệu của Base64 là gì?

Base64 là một nhóm các sơ đồ mã hóa nhị phân từ văn bản đại diện cho dữ liệu nhị phân ở định dạng chuỗi ASCII bằng cách dịch nó thành biểu diễn Radix-64. Bằng cách chỉ bao gồm các ký tự ASCII, các chuỗi Base64 thường an toàn URL và đó là lý do tại sao chúng có thể được sử dụng để mã hóa dữ liệu trong URL dữ liệu.radix-64 representation. By consisting only of ASCII characters, base64 strings are generally url-safe, and that's why they can be used to encode data in Data URLs.

Chúng ta có thể lấy tên tệp từ Base64 không?

Chà, không ... Chuỗi Base64 không chứa tên tệp, chỉ nội dung của tệp.Nếu bạn muốn giữ tên tệp, bạn sẽ phải lưu trữ nó theo cách khác.Nó đã có sẵn trên đối tượng tệp bạn đã cho chúng tôi thấy, bạn sẽ phải lưu trữ nó một cách hợp lý cho bất kỳ trường hợp sử dụng nào của bạn.the base64 string doesn't contain the file name, only the contents of the file. If you want to keep the filename, you're going to have to store it some other way. It's already available on the file object you have shown us, you'll just have to store it in a reasonable manner for whatever your use-case is.

Làm thế nào tôi có thể cho biết phần mở rộng của tệp Base64?

Nếu bạn có chuỗi base64, bạn có thể phát hiện loại tệp bằng cách kiểm tra ký tự đầu tiên của chuỗi base64 của bạn: '/' có nghĩa là jpeg.'Tôi có nghĩa là png.'R' có nghĩa là gif.checking the first character of your base64 string: '/' means jpeg. 'i' means png. 'R' means gif.

B64encode Python là gì?

B64encode (s, altchars = none) mã hóa đối tượng giống như byte bằng base64 và trả về các byte được mã hóa.Altchars tùy chọn phải là một đối tượng giống như byte có độ dài ít nhất 2 (các ký tự bổ sung bị bỏ qua) chỉ định bảng chữ cái thay thế cho + và / ký tự.Encode the bytes-like object s using Base64 and return the encoded bytes . Optional altchars must be a bytes-like object of at least length 2 (additional characters are ignored) which specifies an alternative alphabet for the + and / characters.