بیس۶۴
بیس۶۴ (به انگلیسی: Base64) عنوان یک کدبندی دودویی به متن است. در این کدبندی، آرایهای از بایتها به صورت نویسههای اَسکی کدگذاری میشوند. کاربرد آن در تبادل اطلاعات از طریق محیطهایی که تنها از کدهای اسکی ۷-بیتی پشتیبانی میکنند (مانند ایمیل) است. توصیف کامل این کدبندی در RFC 1252 آمده است.[۱]
محتویات
کدبندی[ویرایش]
مقدار | کدبندی | مقدار | کدبندی | مقدار | کدبندی | مقدار | کدبندی | |||
---|---|---|---|---|---|---|---|---|---|---|
0 | A |
16 | Q |
32 | g |
48 | w
| |||
1 | B |
17 | R |
33 | h |
49 | x
| |||
2 | C |
18 | S |
34 | i |
50 | y
| |||
3 | D |
19 | T |
35 | j |
51 | z
| |||
4 | E |
20 | U |
36 | k |
52 | 0
| |||
5 | F |
21 | V |
37 | l |
53 | 1
| |||
6 | G |
22 | W |
38 | m |
54 | 2
| |||
7 | H |
23 | X |
39 | n |
55 | 3
| |||
8 | I |
24 | Y |
40 | o |
56 | 4
| |||
9 | J |
25 | Z |
41 | p |
57 | 5
| |||
10 | K |
26 | a |
42 | q |
58 | 6
| |||
11 | L |
27 | b |
43 | r |
59 | 7
| |||
12 | M |
28 | c |
44 | s |
60 | 8
| |||
13 | N |
29 | d |
45 | t |
61 | 9
| |||
14 | O |
30 | e |
46 | u |
62 | +
| |||
15 | P |
31 | f |
47 | v |
63 | /
|
بیس۶۴ را میتوان یک دستگاه اعداد، مشابه دستگاه اعداد هشتهشتی و دستگاه اعداد شانزدهشانزدهی، اما در مبنای ۶۴ دانست. در حالی که یک سامانهٔ هشتهشتی از ۳ بیت، و یک سامانهٔ شانزدهشانزدهی از ۴ بیت برای ذخیرهسازی هر رقم استفاده میکنند، در مبنای ۶۴ هر رقم در ۶ بیت ذخیره میشود.[۳] در عمل بیس۶۴ دادههای دودویی ۸ بیتی را به قالب ۷ بیتی تبدیل میکند؛ به طور معمول ۳ بایتِ ۸ بیتی، تبدیل به ۴ بایت ۷ بیتی میشوند که ۳۳٪ از دادههای اولیه حجیمتر است. برای نمایش اطلاعات، تنها از نویسههای A-Z، a-z، 0-9، / و = (برای پدگذاری) استفاده میشود.[۴] (هر یک از نتایج ۶ یا ۷ بیتی حاصل بر یکی از نویسههای اسکلی منطبق خواهد شد[۵])
اگر در پایان متن، کمتر ۲۴ بیت (۳ بایت) برای کدبندی باقیمانده باشد، برای ممکنشدن کدبندی، به سمت راست بایتها، بیتهای 0 میافزایند، این موضوع با استفاده از نویسهٔ «=» مشخص میشود. به عبارت دیگر اگر آخرین گروه داده، تنها دارای ۲ بایت باشد، ۱۲ بیت نخست آن به طور معمول (از روی جدول) کدگذاری میشوند و ۴ بیت باقیمانده با استفاده از دو بیت 0 کامل میگردند تا تبدیل به دادهٔ ۶ بیتی شود، سپس نتیجه را به مبنای ۶۴ میبرند. برای مشخصشدن این موضوع یک علامت «=» به پایان رشتهٔ حاصل افزوده خواهد شد. به طور مشابه اگر در پایان متن تنها ۱ بایت (۸ بیت) باقیمانده باشد، ۶ بیت نخست به طور معمول کدبندی میشوند، دو بیت پایانی با استفاده از چهار 0 تکمیل میگردند، و رشتهٔ حاصل با استفاده از دو علامت «=» نشانهگذاری خواهد شد.[۶]
کدگشایی[ویرایش]
در زمان کدگشایی عکس کارهایی که در زمان کدگذاری انجام شده صورت میگیرد. اگر کدگشا به نویسهای بر بخورد که در جدول نویسههای بیس۶۴ نباشد، از آن چشمپوشی میکند.[۷] این نویسهها ممکن است نویسههای ناموجود در جدول مانند سرخط یا نشانگر خطا در زمان انتقال باشند.[۸]
جستارهای وابسته[ویرایش]
منابع[ویرایش]
- ↑ Knudsen, Java Cryptography, 8.
- ↑ Wilding-McBride, Java Development on PDAs: Building Applications for PocketPC and Palm Devices, 153.
- ↑ Knudsen, Java Cryptography, 8.
- ↑ Cooper, Beginning Ruby: From Novice to Professional, 498.
- ↑ Wilding-McBride, Java Development on PDAs: Building Applications for PocketPC and Palm Devices, 153.
- ↑ Dostálek and Kabelová, Understanding TCP/IP: A Clear and Comprehensive Guide to TCP/IP Protocols, 374.
- ↑ Wilding-McBride, Java Development on PDAs: Building Applications for PocketPC and Palm Devices, 153.
- ↑ Dostálek and Kabelová, Understanding TCP/IP: A Clear and Comprehensive Guide to TCP/IP Protocols, 373.
- Knudsen, J. (1998). Java Cryptography (به فنلاندی). O'Reilly Media. ISBN 9781449390617. Retrieved 2013-12-01.
- Cooper, P. (2009). Beginning Ruby: From Novice to Professional. Books for professionals by professionals. Apress. ISBN 9781430223641. Retrieved 2013-12-01.
- Wilding-McBride, D. (2003). Java Development on PDAs: Building Applications for PocketPC and Palm Devices. Java (Addison-Wesley). Addison-Wesley. ISBN 9780201719543. Retrieved 2013-12-01.
- Dostálek, L.; Kabelová, A. (2006). Understanding TCP/IP: A Clear and Comprehensive Guide to TCP/IP Protocols. From technologies to solutions. Packt Publishing, Limited. ISBN 9781847190567. Retrieved 2013-12-01.
- Dostálek, L.; Kabelová, A. (2006). Understanding TCP/IP: A Clear and Comprehensive Guide to TCP/IP Protocols. From technologies to solutions. Packt Publishing, Limited. ISBN 9781847190567. Retrieved 2013-12-01.