Các từ khoá:
- encode/decode <verb>
- encoding/decoding <noun> việc "encode"/"decode"
- data encoding
Base64, Base32, Base16
- tên các thuật toán để encode và decode các chuỗi nhị phân tuỳ ý (binary string) thành dạng text tương ứng.
- Tại sao lại là 64? vì nó sử dụng 64 ký tự để biểu diễn. [A-Za-z0-9+/] là 26 + 26 + 10 + 2 = 64. Ngoài ra có ký tự "=" dùng để đệm (pad).
- Có biến thể khác sử dụng dấu -_ thay cho +/, dùng trong xử lý URL và filename
Tương tự, Base32 sử dụng bảng chữ cái [A-Z2-7] = 26 + 6 = 32
Base16 còn gọi là hex - sử dụng các ký tự [0-9A-F] = 10 + 6 = 16
Trên terminal, dùng lệnh base64 để encode một chuỗi bất kỳ thành dạng "Base64":
$ printf "FAMILUG" | base64Python2.7 (sử dụng ipython):
RkFNSUxVRw==
In [3]: import base64Lấy 10 bytes từ urandom (/dev/urandom - nguồn sinh các byte ngẫu nhiên trên máy tính *NIX), encode thành dạng Base64:
In [7]: base64.b64encode("FAMILUG")
Out[7]: 'RkFNSUxVRw=='
Trên shell:
$ head -c 10 /dev/urandom | base64IPython:
jqzfTmmXzjxBIA==
In [14]: base64.b64encode(os.urandom(10))Tham khảo:
Out[14]: 'LeFms9KzU8DSxg=='
baseN: http://www.ietf.org/rfc/rfc4648.txt
No comments:
Post a Comment