💬 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ức02af01ff00
Aq8B/wA=
02af01ff00
6Bạ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
802af01ff00
Aq8B/wA=
02af01ff00
0Bướ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ường02af01ff00
Aq8B/wA=
02af01ff00
4Bướ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
0302af01ff00
Aq8B/wA=
02af01ff00
7Voilà, 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
3Cả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