Làm thế nào để bạn chuyển đổi nhị phân thành base64 trong python?

Base64 là một thuật ngữ chung cho một số sơ đồ mã hóa tương tự mã hóa dữ liệu nhị phân bằng cách xử lý dữ liệu đó bằng số và dịch nó thành biểu diễn cơ sở 64. Thuật ngữ Base64 bắt nguồn từ mã hóa chuyển nội dung MIME cụ thể

💬 câu hỏi. Làm cách nào để chuyển đổi chuỗi thập lục phân, chẳng hạn như

02af01ff00
Aq8B/wA=
02af01ff00
4 thành chuỗi bình thường bằng định dạng Base64 trong Python?

👉 Câu trả lời ngắn gọn. Sử dụng biểu thức một dòng ưa thích sau đây để chuyển đổi chuỗi hex

02af01ff00
Aq8B/wA=
02af01ff00
5 thành chuỗi Python được mã hóa Base64.
02af01ff00
Aq8B/wA=
02af01ff00
6

Đối với câu trả lời dài, tiếp tục đọc. 🥸

Nếu bạn giống tôi, bạn có thể cần xem lại nhanh về cách hoạt động của mã hóa Base64 và chính xác nó là gì. Mặc dù tôi đã học khoa học máy tính vài năm trước, nhưng tôi không phải lúc nào cũng có những kiến ​​thức “bit” siêu cơ bản đó.

Bạn có thể đã biết về Base64 — trong trường hợp đó, tôi khuyên bạn nên bỏ qua phần tiếp theo và bắt đầu ngay. 👇

Mã hóa Base64 là gì?

Base64 là một mã hóa rất tối thiểu trong đó một bộ ký tự tối thiểu - về cơ bản là

02af01ff00
Aq8B/wA=
02af01ff00
7,
02af01ff00
Aq8B/wA=
02af01ff00
0 và
02af01ff00
Aq8B/wA=
02af01ff00
1 - được mã hóa chỉ bằng sáu bit. Mỗi vị trí bit nhân đôi số lượng mã hóa khác nhau, vì vậy mã hóa Base64 có thể mã hóa 2*2*2*2*2*2 = 2^6 = 64 ký tự khác nhau

Đây là toàn bộ bảng — may mắn thay, mã hóa đủ nhỏ và hiệu quả để tôi có thể cho bạn thấy toàn bộ nội dung. 🤯

[Và, không, Biểu tượng cảm xúc không có bất kỳ vị trí nào trong Base64, đó là trường học RẤT cũ. ]

IndexBinaryChar0000000A1000001B2000010C3000011D4000100E5000101F6000110G7000111H8001000I9001001J10001010K11001011L12001100M13001101N14001110O15001111P16010000Q17010001R18010010S19010011T20010100U21010101V22010110W23010111X24011000Y25011001Z26011010a27011011b28011100c29011101d30011110e31011111f32100000g33100001h34100010i35100011j36100100k37100101l38100110m39100111n40101000o41101001p42101010q43101011r44101100s45101101t46101110u47101111v48110000w49110001x50110010y51110011z52110100053110101154110110255110111356111000457111001558111010659111011760111100861111101962111110+63111111/IndexBinaryCharacter

🌍 Hướng dẫn đề xuất. Python Base64 – Mã hóa và giải mã chuỗi [+Video]

Làm cách nào để chuyển đổi Mã hóa Base64 [Chuỗi Hex] thành Chuỗi có thể đọc được bằng Python?

Bạn có thể chuyển đổi một chuỗi hex có định dạng

02af01ff00
Aq8B/wA=
02af01ff00
2 thành chuỗi Python bình thường được mã hóa Base64 bằng cách sử dụng biểu thức

02af01ff00
Aq8B/wA=
02af01ff00
6

Bạn có thể chuyển đổi chuỗi Base64 kết quả trở lại thành chuỗi bình thường bằng cách sử dụng biểu thức một dòng

02af01ff00
Aq8B/wA=
02af01ff00
4

Đây là một ví dụ về mã—Tôi sẽ chia nhỏ nó cho bạn ngay sau mã

import base64

s = '02af01ff00'

# hex string -> base64 string
b64 = base64.b64encode[bytes.fromhex[s]].decode[]

# base64 string -> hex string
s2 = base64.b64decode[b64.encode[]].hex[]

print[s]
print[b64]
print[s2]

Đầu ra cho thấy rằng bạn đã chuyển đổi thành công từ chuỗi hex sang chuỗi Base64 và quay lại chuỗi hex

02af01ff00
Aq8B/wA=
02af01ff00

Bạn có thể thấy rằng giá trị đầu và cuối của chuyển đổi vẫn giữ nguyên

Hãy chia nhỏ mã từng bước

Bước 1. Chuỗi hex ban đầu vẫn ở định dạng không chuẩn hóa

02af01ff00
Aq8B/wA=
02af01ff00
2. Chúng tôi yêu cầu nó phải là một đối tượng
02af01ff00
Aq8B/wA=
02af01ff00
6 vì đây là định dạng đầu vào bắt buộc của các hàm
02af01ff00
Aq8B/wA=
02af01ff00
7 được hiển thị trong giây lát. Bạn sử dụng hàm
02af01ff00
Aq8B/wA=
02af01ff00
8

02af01ff00
Aq8B/wA=
02af01ff00
0

Bước 2. Bạn sử dụng hàm

02af01ff00
Aq8B/wA=
02af01ff00
9 để lấy chuỗi hex [dưới dạng đối tượng
02af01ff00
Aq8B/wA=
02af01ff00
00] và chuyển đổi nó thành đối tượng
02af01ff00
Aq8B/wA=
02af01ff00
00 trong mã hóa Base64. Đây gần như là những gì bạn muốn — nhưng nó chưa phải là một chuỗi Python bình thường

02af01ff00
Aq8B/wA=
02af01ff00
4

Bước 3. Để convert đối tượng

02af01ff00
Aq8B/wA=
02af01ff00
00 trong bảng mã Base64 sang chuỗi Python bình thường, chúng ta sử dụng phương thức
02af01ff00
Aq8B/wA=
02af01ff00
03

02af01ff00
Aq8B/wA=
02af01ff00
7

Voilà, chính xác những gì bạn muốn. Nhưng làm thế nào để chuyển đổi nó trở lại?

Bước 4 và 5. Bạn có thể chuyển đổi chuỗi Python được mã hóa Base64 bình thường trở lại chuỗi hex ngay từ đầu bằng cách sử dụng phương thức

02af01ff00
Aq8B/wA=
02af01ff00
04 để lấy đối tượng
02af01ff00
Aq8B/wA=
02af01ff00
00, chuyển nó vào hàm
02af01ff00
Aq8B/wA=
02af01ff00
06 để lấy biểu diễn Base64
02af01ff00
Aq8B/wA=
02af01ff00
00 và chuyển đổi nó thành chuỗi thập lục phân bằng cách

02af01ff00
Aq8B/wA=
02af01ff00
3

Cảm ơn ❤️

Cảm ơn bạn đã đọc qua toàn bộ hướng dẫn, tôi hy vọng bạn đã giải quyết được vấn đề của mình. Nếu không, bạn có thể xem câu trả lời SO rất thú vị này

Ngoài ra, hãy đảm bảo kiểm tra bảng gian lận Python miễn phí của chúng tôi để đạt được hiệu quả học tập và niềm vui tối đa

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Làm cách nào để chuyển đổi nhị phân sang Base64?

Nhấp vào nút URL, Nhập URL và Gửi . Công cụ này hỗ trợ tải File nhị phân để chuyển sang Base64. Nhấp vào nút Tải lên và chọn Tệp. Binary to Base64 Online hoạt động tốt trên Windows, MAC, Linux, Chrome, Firefox, Edge và Safari.

Làm cách nào để chuyển đổi sang Base64 bằng Python?

Để chuyển đổi một chuỗi thành ký tự Base64, cần thực hiện theo các bước sau. .
Lấy giá trị ASCII của từng ký tự trong chuỗi
Tính toán tương đương nhị phân 8 bit của các giá trị ASCII
Chuyển đổi khối ký tự 8 bit thành khối 6 bit bằng cách nhóm lại các chữ số

Làm cách nào để giải mã dữ liệu nhị phân trong Python?

Để đọc từ tệp nhị phân, chúng ta cần mở tệp đó bằng chế độ rb thay vì chế độ mặc định là rt . >>> với open["bài tập. zip", mode="rb"] dưới dạng zip_file. . nội dung = zip_file.

Base64 và nhị phân có giống nhau không?

Base64 là một nhóm các lược đồ mã hóa nhị phân thành văn bản tương tự biểu thị 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 cơ số 64. Thuật ngữ Base64 bắt nguồn từ mã hóa chuyển nội dung MIME cụ thể.

Chủ Đề