Pengkode/Dekoder CBOR
Enkode nilai JSON ke data biner CBOR (RFC 8949) sebagai hex atau Base64, atau dekode byte CBOR kembali ke JSON. Berjalan sepenuhnya di browser Anda.
Input
Output
Panduan
Apa itu CBOR?
CBOR (Concise Binary Object Representation, RFC 8949) adalah format data biner yang dibangun di atas model data yang sama dengan JSON — angka, string, array, peta, boolean, dan null — tetapi dikodekan sebagai byte kompak alih-alih teks. Setiap nilai adalah header jenis pendek (tipe utama + panjang) diikuti langsung oleh isinya, sehingga tidak ada tanda baca, tidak ada kutipan, dan tidak ada spasi untuk mengisi muatan.
Kekompakan itulah mengapa CBOR muncul di mana pun bandwidth atau biaya parsing penting: CoAP (protokol seperti HTTP untuk perangkat IoT yang terbatas), COSE (objek CBOR yang ditandatangani/terenkripsi yang digunakan dalam WebAuthn dan kunci FIDO2), CWT (Token Web CBOR, saudara biner JWT), penyimpanan konten-addressable Docker, dan protokol pesan embedded dan bertenaga rendah yang tak terhitung jumlahnya. Jika JSON adalah "data yang dapat dibaca manusia di jaringan," CBOR adalah model data yang sama dibangun untuk jaringan dengan anggaran byte.
Cara menggunakannya
- Pilih Mode:
- Enkode JSON → CBOR — tempelkan nilai JSON (objek, array, string, angka, boolean, atau
null) ke dalam kotak input. Alat ini menganalisnya dan mengenkodekannya dengan CBOR, menampilkan hasilnya sebagai Hex atau Base64 (pilih format dari dropdown). - Dekode CBOR → JSON — tempelkan byte CBOR sebagai hex atau Base64; format terdeteksi secara otomatis. Alat ini mendekode byte dan menampilkan nilai JSON yang setara, dengan format yang bagus.
- Enkode JSON → CBOR — tempelkan nilai JSON (objek, array, string, angka, boolean, atau
- Salin atau unduh hasilnya dengan tombol di kotak output.
- Pemrosesan terjadi secara instan saat Anda mengetik atau beralih mode — tidak ada langkah "jalankan" terpisah.
Cara nilai memetakan antara JSON dan CBOR
- Integer mengenkode menggunakan bentuk terpendek CBOR: nilai 0–23 cocok dalam byte header tunggal; besaran yang lebih besar menggunakan panjang follow-on 1/2/4/8-byte, dipilih secara otomatis. Angka negatif menggunakan tipe utama integer negatif CBOR yang didedikasikan.
- String adalah string teks UTF-8 (CBOR major type 3).
- Array dan objek memetakan ke array dan peta CBOR (tipe utama 4 dan 5) — kunci objek selalu dikodekan sebagai string teks.
true,false,nullmenggunakan enkode "nilai sederhana" tiga-byte CBOR.- Angka bukan-integer (apa pun dengan titik desimal, atau terlalu besar untuk menjadi integer yang aman) dikodekan sebagai floating-point presisi ganda 8-byte — alat ini selalu menggunakan presisi ganda daripada jalan pintas presisi-setengah/tunggal CBOR opsional, menukar beberapa byte ukuran untuk kesederhanaan dan round-tripping yang lossless.
- Dekoding juga memahami konsep CBOR yang tidak ada di JSON — string byte, tag, dan nilai "sederhana" — dengan merepresentasikannya sebagai placeholder ramah-JSON (mis. string byte mendekode ke
"h'a1b2c3'", tag ke{"$tag": N, "value": ...}) alih-alih gagal.
FAQ
Mengapa pengodean angka biasa kadang-kadang mengubah ukuran secara tidak dapat diprediksi? CBOR selalu memilih header terpendek yang valid untuk besaran integer — 10 adalah satu byte, 1000 adalah tiga, 100000 adalah lima. Ini bukan bug; ini adalah poin format.
Bisakah saya mendekode CBOR yang dihasilkan oleh perpustakaan lain? Ya — dekoding menangani CBOR yang terbentuk dengan baik (kombinasi tipe utama apa pun, panjang pasti atau tidak terbatas, tag), bukan hanya data yang alat ini sendiri hasilkan.
Apa yang terjadi dengan input yang malformed atau terpotong? Kedua mode melaporkan error inline yang jelas (JSON yang tidak valid, atau deskripsi tepat apa yang salah dengan byte CBOR — mis. "Akhir CBOR data yang tidak terduga") alih-alih gagal diam-diam.
Apakah data saya diunggah ke mana pun? Tidak — pengodean dan dekoding kedua-duanya berjalan sepenuhnya di browser Anda. Tidak ada yang Anda tempelkan dikirim ke server.
Cara lain menggunakan alat ini
REST API
curl -X POST https://api.iotools.cloud/v1/tool/cbor-encoder-decoder \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputText": "[1,2,3]",
"mode": "encode",
"outputFormat": "hex"
}'Ganti dengan kunci Anda sendiri dari akun Anda. Bidang alat menjadi isi permintaan — tanpa pembungkus.
Tanyakan ke agen AI
Use the IOTools `cbor-encoder-decoder` tool (CBOR Encoder / Decoder) on this input:
YOUR_INPUT_HERETempelkan ini ke agen mana pun yang terhubung ke server MCP IOTools, lalu tambahkan input Anda.
Widget sematan
<iframe
src="https://iotools.cloud/embed/cbor-encoder-decoder/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Pengkode/Dekoder CBOR — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Tempelkan ini di halaman Anda sendiri — gratis, tanpa kunci, cukup tautan balik.
| Biaya per panggilan | Mulai dari 5 kredit |
|---|