Movatterモバイル変換


[0]ホーム

URL:


Lompat ke isi
WikipediaEnsiklopedia Bebas
Pencarian

Base32

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Wikifikasi
Artikel iniperludiwikifikasi agar memenuhistandar kualitas Wikipedia. Anda dapat memberikanbantuan berupa penambahan pranala dalam, atau dengan merapikantata letak dari artikel ini.
Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan.

  • Menggantimarkah HTML denganmarkah wiki bila dimungkinkan.
  • Tambahkanpranala wiki. Bila dirasa perlu, buatlah pautan ke artikel wiki lainnya dengan cara menambahkan "[[" dan "]]" pada kata yang bersangkutan (lihatWP:LINK untuk keterangan lebih lanjut). Mohon jangan memasang pranala pada kata yang sudah diketahui secara umum oleh para pembaca, seperti profesi, istilah geografi umum, dan perkakas sehari-hari.
  • Sunting bagian pembuka. Buat atau kembangkanbagian pembuka dari artikel ini.
  • Susun header artikel ini sesuai denganpedoman tata letak.
  • Tambahkankotak info bila jenis artikel memungkinkan.
  • Hapus tag/templat ini.

Base32 adalah salah satu dari beberapa penyandian transfer base 32. Base32 mengeset 32-karakter yang terdiri dari huruf A sampai Z dan angka 2 hingga 7

Base32 tidak hanya digunakan untuk menyandikan databiner, tetapi Base32 juga dapat menyandikan teksbiner sepertiASCII

Perangkat Lunak

[sunting |sunting sumber]

Base32 adalah notasi untuk penyadian databyte sewenang - wenang menggunakan seperangkat simbol terbatas yang dapat digunakan oleh manusia dan diproses oleh komputer.

Base32 terdiri dari simbol 32 karakter yang berbeda, serta algoritme untuk penyandian urutan sewenang - wenang dari byte 8-bit ke dalam abjad Base32. Karena lebih dari satu simbol Base32 5-bit diperlukan untuk mewakili setiap byte input 8-bit, simbol Base32 juga menentukan persyaratan panjang string Base32 yang diizinkan (yang harus merupakan kelipatan 40 bit). Sistem Base64 yang terkait erat, sebaliknya, menggunakan satu set 64 simbol.

Implementasi Base32 tersedia di C/C++,[1] Perl,[2] Java,[3] JavaScript[4] Python,[5] Go[6] dan Ruby.[7]

Kelebihan

[sunting |sunting sumber]

Base32 memiliki sejumlah kelebihan daripada Base64:

  1. Semua set karakter yang dihasilkan adalah satu case, yang sering kali bermanfaat ketika menggunakan case-insensitive filesystem, bahasa lisan, atau memori manusia.
  2. Hasil bisa digunakan sebagai nama file karena tidak mengandung simbol '/', yang merupakan Unix path separator.
  3. Hurufnya terpilih untuk menghindari simbol yang terlihat sama, sehingga string dapat ditranskripsi secara akurat dengan tangan. (Contohnya, simbol RFC 4648 yang diatur untuk menghilangkan nomor 1, 8, dan 0, karena mereka bisa bercampur aduk dengan huruf 'I', 'B', dan 'O'.)
  4. Hasil tidak termasuk padding dapat dimasukkan ke dalam URL tanpa menyandikan karakter apapun.

Base32 juga punya kelebihan dibanding hexadecimal/Base16:

  1. Representasi Base32 membutuhkan sekitar 20% lebih sedikit ruang. (1000 bit membutuhkan 200 karaktean dengan 250 untuk Base16)

Kekurangan

[sunting |sunting sumber]

Representasi Base32 membutuhkan sekitar 20% lebih banyak ruang daripada Base64. Juga, karena menyandikan 5 byte ke 8 karakter (daripada 3 byte ke 4 karakter), padding ke batas 8 karakter adalah beban yang lebih besar pada pesan pendek.

Panjang notasi Base64 and Base32 sebagai persentasi dari data biner
Base64Base32
8-bit133%160%
7-bit117%140%

RFC 4648 Base32 alphabet

[sunting |sunting sumber]

Huruf Base32 yang paling banyak digunakan didefinisikan dalam . Itu menggunakan huruf A–Z, diikuti dengan 2–7. 0 dan 1 dilewati karena kesamaannya dengan huruf O dan I (dengan demikian "2" sebenarnya memiliki nilai desimal 26).

Dalam beberapa keadaan, padding tidak diperlukan atau digunakan (padding dapat disimpulkan dari panjang modulo string 8). RFC 4648 menyatakan bahwa padding harus digunakan kecuali spesifikasi standar yang mengacu pada RFC secara eksplisit menyatakan sebaliknya. Mengecualikan padding berguna saat menggunakan data yang disandikan base32 di token URL atau nama file di mana karakter padding bisa menimbulkan masalah.

Huruf RFC 4648 Base 32
NilaiSimbolNilaiSimbolNilaiSimbolValueSymbol
0A8I16Q24Y
1B9J17R25Z
2C10K18S262
3D11L19T273
4E12M20U284
5F13N21V295
6G14O22W306
7H15P23X317
padding=

Versi alternatif

[sunting |sunting sumber]

Mengubah huruf Base32, semua standar alternatif memiliki kombinasi simbol alfanumerik yang serupa.

zasep.paoty-base-32

[sunting |sunting sumber]

z-base-32[8] adalah pengkodean Base32 yang dirancang agar lebih mudah digunakan manusia dan lebih ringkas. Ini termasuk 1, 8 dan 9 tetapi tidak termasuk l, v dan 2. Ini juga memungkinkan huruf sehingga karakter yang lebih mudah adalah yang lebih sering muncul. Ini kompak mengkodekan bitstrings yang panjangnya dalam bit bukan kelipatan 8, dan menghilangkan karakter padding trailing.z-base-32 digunakan dalam proyek open source Mnet, dan saat ini digunakan dalam protokol Phil Zimmermann ZRTP, dan dalam proyekopen source Tahoe-LAFS.

Huruf z-base-32
NilaiSimbolNilaiSimbolNilaiSimbolNilaiSimbol
0y8e16o24a
1b9j17t253
2n10k181264
3d11m19u275
4r12c20w28h
5f13p21i297
6g14q22s306
7815x23z319

Crockford Base32

[sunting |sunting sumber]

Desain alternatif lain untuk Base32 dibuat oleh Douglas Crockford, yang mengusulkan penggunaan karakter tambahan untuk checksum.[9]

Huruf Base32 milik Crockford's
NilaiEncode AngkaDecode AngkaNilaiEncode AngkaDecode Angka
000 o O16Gg G
111 i I l L17Hh H
22218Jj J
33319Kk K
44420Mm M
55521Nn N
66622Pp P
77723Qq Q
88824Rr R
99925Ss S
10Aa A26Tt T
11Bb B27Vv V
12Cc C28Ww W
13Dd D29Xx X
14Ee E30Yy Y
15Ff F31Zz Z

Electrologica

[sunting |sunting sumber]

Bentuk notasi base 32 sebelumnya digunakan oleh programmer yang bekerja pada Electrologica X1 untuk mewakili alamat mesin. "Angka" diwakili sebagai angka desimal dari 0 hingga 31. Misalnya,12-16 akan mewakili alamat mesin400 (= 12 * 32 + 16).

base32hex

[sunting |sunting sumber]

Triacontakaidecimal adalah desain alternatif lain untuk Base 32, yang memperluas hexadecimal dengan cara yang lebih alami dan pertama kali diusulkan oleh Christian Lanctot, seorang programmer yang bekerja pada Sage software, dalam sebuah surat ke majalahDr. Dobb pada Maret 1999[10] sebagai solusi yang diusulkan untuk memecahkan bug Y2K dan disebut sebagai "Double Hex". Versi ini dijelaskan dalamRFC 2938 dengan nama "Base-32". RFC 4648, sementara mengakui penggunaan yang ada dari versi ini di NSEC3, menyebutnya sebagaibase32hex dan mencegah pelabelan itu sebagai "base32".

Demikian pula untuk heksadesimal, digit yang digunakan adalah 0-9 diikuti oleh huruf alfabet berturut-turut. Ini cocok dengan digit yang digunakan oleh fungsi JavaScriptparseInt()[11] dan konstruksi Pythonint()[12] ketika basis lebih besar dari 10 (seperti 16 atau 32) ditentukan. Ia juga mempertahankan properti heksadesimal dalam mempertahankan urutan bitwise dari data yang diwakili, tidak seperti basis-32 RFC 4648 atau basis-64.[13]

Tidak seperti banyak sistem notasi basis 32 lainnya, triacontakaidecimal berdekatan dan termasuk karakter yang dapat secara visual konflik. Dengan font yang tepat adalah mungkin untuk membedakan secara visual antara 0, O dan 1, I. Font lain tidak cocok karena konteks yang biasanya disediakan oleh bahasa Inggris tidak disediakan oleh sistem notasi yang mengekspresikan angka.Namun, pilihan font tidak dikontrol oleh notasi atau pengkodean, oleh karena itu berisiko menganggap font yang dapat dibedakan akan digunakan.

Huruf "Extended Hex" Base 32
NilaiSimbolNilaiSimbolNilaiSimbolNilaiSimbol
009918I27R
1110A19J28S
2211B20K29T
3312C21L30U
4413D22M31V
5514E23N
6615F24O
7716G25P
8817H26Q

Geohash

[sunting |sunting sumber]

Lihat Geohash algoritme, yang digunakan untuk merepresentasikan nilai garis lintang dan garis bujur dalam satu bilangan bulat positif (bit-interlaced). Representasi base32 dari Geohash menggunakan semua angka desimal (0-9) dan alfabet huruf kecil, kecuali huruf "a", "i", "l", "o", seperti yang ditunjukkan oleh peta karakter berikut:

Decimal0123456789101112131415
Base 320123456789bcdefg
 
Decimal16171819202122232425262728293031
Base 32hjkmnpqrstuvwxyz

Video game

[sunting |sunting sumber]

Sebelum NVRAM menjadi universal, beberapa video game untuk platformNintendo menggunakan basis 32 angka untuk passwords. Sistem ini menghilangkan vokal untuk mencegah game secara tidak sengaja memberikan kata sandi profane. Dengan demikian, karakter umumnya beberapa variasi kecil dari himpunan berikut: 0–9, B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Y, Z, dan beberapa tanda baca. Game yang diketahui menggunakan sistem seperti itu termasukMario Is Missing!,Mario's Time Machine,Tetris Blast, danThe Lord of the Rings (Super NES).

Lihat juga

[sunting |sunting sumber]
  • Ascii85 (biasa dipanggil Base85)
  • Base64
  • Base58
  • Base36
  • Base16
  • Binary-to-text encoding untuk perbandingan berbagai algoritme pengodean
  • Geohash

Referensi

[sunting |sunting sumber]
  1. ^http://sourceforge.net/projects/cyoencode/
  2. ^"MIME-Base32 - Base32 encoder and decoder".MetaCPAN. Diakses tanggal2018-07-29. 
  3. ^https://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/binary/Base32.html
  4. ^https://www.npmjs.com/package/base32
  5. ^https://docs.python.org/3/library/base64.html
  6. ^https://golang.org/pkg/encoding/base32
  7. ^https://rubygems.org/gems/base32
  8. ^O'Whielacronx, Zooko (2009)."Human-oriented base-32 encoding". 
  9. ^http://www.crockford.com/wrmg/base32.html
  10. ^Lanctot, Christian (1999-03-01)."A Better Date?(second letter under that heading) - Letters".Dr Dobb's. 
  11. ^"parseInt() - JavaScript".MDN Web Docs. Mozilla. 
  12. ^"Built-in Functions".Python documentation. Python Software Foundation. 
  13. ^Josefsson, Simon (2006)."7. Base 32 Encoding with Extended Hex Alphabet".RFC 4648: The Base16, Base32, and Base64 Data Encodings. IETF. 
Diperoleh dari "https://id.wikipedia.org/w/index.php?title=Base32&oldid=21763894"
Kategori:
Kategori tersembunyi:

[8]ページ先頭

©2009-2025 Movatter.jp