0

Hasil Decode

Ascii85

Hasil Encode

Ascii85
Jenis

Tentang Ascii85

Ascii85 adalah skema pengkodean yang menggunakan karakter ASCII 7-bit yang dapat dicetak. Ini juga disebut Base85.

Dalam Ascii85, data dibagi menjadi 4 byte dan dikonversi menjadi 5 karakter ASCII.

Ada berbagai varian Ascii85. DenCode mendukung tiga jenis Ascii85 berikut. Yang asli adalah btoa, diikuti oleh Adobe dan Z85.

Ringkasan
Z85Digunakan dalam ZeroMQ. Menghindari karakter yang memerlukan escaping seperti "\" (backslash) dan "'" (apostrof).
AdobeDigunakan untuk penyandian gambar dalam file Adobe PostScript dan PDF (Portable Document Format). Diapit oleh "<~" dan "~>".
btoaFormat perintah btoa UNIX. Digunakan untuk pertukaran data biner di masa lalu, tetapi sekarang tidak umum. Diapit oleh baris "xbtoa Begin" dan "xbtoa End".

Karakter ASCII yang digunakan dalam Ascii85 adalah sebagai berikut. Nilai 4-byte diperlakukan sebagai unsigned integer big-endian, dan setiap digit basis 85 (5 digit) dihitung untuk mendapatkan hasil konversi Ascii85 berdasarkan karakter ASCII berikut.

Karakter ASCII
Z850123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#
Adobe!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
btoa!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
(Aslinya adalah karakter dari " " (spasi) hingga "t", tetapi diganti dengan "!" hingga "u" mengecualikan spasi karena beberapa mailer menghapus spasi di akhir.)

Sebagai contoh, jika Anda mengonversi "Hello" dengan Ascii85:

1. Bagi setiap 4 byte. Jika kurang dari 4 byte, padding dengan "00" di akhir.

48656C6C(16) 6F000000(16)  (Hell o)

2. Perlakukan setiap 4 byte sebagai unsigned integer big-endian dan konversi nilainya ke setiap digit basis 85.

48656C6C(16)
= 1214606444(10)
= 23 * 854 + 22 * 853 + 66 * 852 + 52 * 85 + 49
6F000000(16)
= 1862270976(10)
= 35 * 854 + 57 * 853 + 33 * 852 + 65 * 85 + 26

3. Konversi setiap digit basis 85 ke karakter ASCII. Jika dipadding dengan "00" di akhir, hapus bagian padding untuk Adobe/Z85.

23226652493557336526
Z85nm=QNzV
Adobe87cURDZ
btoa87cURDZBb;

4. Gabungkan semua karakter untuk mendapatkan hasil konversi Ascii85. Adobe diapit dengan "<~" & "~>" dan baris baru setiap 80 karakter. btoa diapit dengan "xbtoa Begin" & "xbtoa End" (termasuk panjang data dan checksum) dan baris baru setiap 78 karakter.

Hasil Konversi
Z85nm=QNzV
Adobe<~87cURDZ~>
btoaxbtoa Begin
87cURDZBb;
xbtoa End N 5 5 E 42 S 1f9 R a9f

Selain itu, beberapa singkatan didefinisikan.

Singkatan
Z85Tidak ada
Adobe00000000(16) -> z
btoa00000000(16) -> z
20202020(16) -> y (btoa v4.2 atau lebih baru)