File apa yang Base64-nya diawali JVBERi0?
JVBERi0 = PDF PDF. Setiap PDF diawali byte `%PDF-`, dan byte itu menjadi `JVBERi0` dalam Base64. `iVBORw0KGgo` adalah PNG, `/9j/` adalah JPEG, dan `UEsDB` adalah ZIP, termasuk DOCX dan XLSX.
Konversi Base64 ke PDF online: tempel Base64 mentah, data URI, atau seluruh respons JSON. Deteksi tipe file asli, pratinjau, unduh, dan peringatan jika PDF terpotong. Juga PDF ke Base64. Tidak ada yang diunggah.
Dibaca sebagai:
Jatuhkan PDF atau file lain di sini, atau klik untuk memilih
Tipe file apa pun · hingga 50 MB · tidak pernah diunggah
Setiap tipe file diawali byte "magic" yang tetap, sehingga Base64-nya diawali karakter yang tetap. Prefiks di bawah dihitung dari header file sungguhan oleh mesin yang sama dengan yang dipakai alat ini.
| Base64 diawali | Tipe file | Magic bytes (hex) |
|---|---|---|
JVBERi0 | 25 50 44 46 2D | |
iVBORw0KGgoAAAANSUhEU | PNG | 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 |
/9j/ | JPEG | FF D8 FF |
R0lGOD | GIF | 47 49 46 38 |
UEsDB | ZIP / DOCX / XLSX / PPTX | 50 4B 03 04 |
0M8R4KGxGu | Office 97–2003 (DOC/XLS/PPT) | D0 CF 11 E0 A1 B1 1A E1 |
H4sI | Gzip | 1F 8B 08 |
UklGR | RIFF (WebP / WAV / AVI) | 52 49 46 46 |
SUQz | MP3 (ID3) | 49 44 33 |
e1xydG | RTF | 7B 5C 72 74 66 |
Ditulis dan ditinjau oleh engineer yang membangun alat encoding Go Tools. Setiap panjang, prefiks, dan contoh di halaman ini dihasilkan oleh mesin halaman ini sendiri dan diperiksa dengan pengujian otomatis.
JVBERi0 = PDF PDF. Setiap PDF diawali byte `%PDF-`, dan byte itu menjadi `JVBERi0` dalam Base64. `iVBORw0KGgo` adalah PNG, `/9j/` adalah JPEG, dan `UEsDB` adalah ZIP, termasuk DOCX dan XLSX.
+33.3% 4 karakter untuk setiap 3 byte, jadi sekitar 33.3% lebih besar: PDF 1 MB (1,048,576 byte) menjadi 1,398,104 karakter. Dengan jeda baris setiap 76 karakter, seperti pada lampiran email, hasilnya 1,434,896 karakter, atau 36.8% lebih besar.
Base64 menulis byte apa pun hanya dengan 64 karakter teks yang aman (A–Z, a–z, 0–9, +, /), dengan = sebagai padding. Setiap 3 byte menjadi 4 karakter. Dengan begitu, file biner seperti PDF bisa melewati saluran yang hanya membawa teks — field JSON, elemen XML, isi email, kolom teks database. Mengonversi Base64 ke PDF hanyalah membaliknya: ubah karakter kembali menjadi byte lalu simpan dengan ekstensi .pdf. Masalahnya, Base64 di dunia nyata jarang datang dalam keadaan bersih: ada prefiks data:, escape JSON, jeda baris, atau alfabet yang berbeda, dan banyak konverter diam-diam menghasilkan file yang tidak bisa dibuka.
%PDF-1.4 → bytes 25 50 44 46 2D 31 2E 34 JVBERi0xLjQ= → the same bytes in Base64 data:application/pdf;base64,JVBERi0xLjQ= → data URI form
Menangani data URI, escape JSON \/ dan \n, tanda kutip, jeda baris MIME, karakter URL-safe - _, %2B %2F dari URL, header PEM, dan padding = yang hilang — lalu menampilkan setiap langkah yang dilakukannya.
Tempel {"code":0,"data":{"file":"JVBERi0…"}} apa adanya. Field terpanjang yang tampak seperti Base64 akan dipakai dan path-nya (data.file) ditampilkan, jadi Anda tahu field mana yang di-decode.
PDF, PNG, JPEG, GIF, WebP, DOCX, XLSX, PPTX, ZIP, GZIP, MP3, MP4, dan lebih dari 40 format lain dikenali dari byte pertamanya. File yang diunduh mendapat ekstensi yang benar meskipun prefiksnya berkata lain.
Menandai PDF tanpa %%EOF (terpotong saat disalin atau oleh batas panjang kolom), Base64 yang di-encode dua kali, hex yang ditempel sebagai Base64, data terkompresi gzip, dan PDF terenkripsi.
PDF dibuka di penampil bawaan browser, gambar dan SVG ditampilkan, teks dan JSON ditampilkan sebagai teks. HTML tidak pernah dirender — hanya source-nya — karena kodenya akan berjalan di halaman ini.
Jatuhkan file hingga 50 MB dan dapatkan Base64 polos atau data URI, opsional URL-safe atau dibungkus per 76 karakter, lengkap dengan besar tambahan ukurannya secara tepat.
base64.b64decode open('out.pdf', 'wb').write(base64.b64decode(s)). Gunakan urlsafe_b64decode untuk - dan _; b64decode mengabaikan jeda baris kecuali Anda memberikan validate=True.
java.util.Base64 Files.write(Path.of("out.pdf"), Base64.getMimeDecoder().decode(s)). getDecoder() menolak jeda baris; getUrlDecoder() untuk - dan _.
Buffer fs.writeFileSync('out.pdf', Buffer.from(s, 'base64')). Buffer menerima kedua alfabet dan mengabaikan whitespace, tetapi juga diam-diam melewati karakter ilegal lainnya alih-alih melempar error, jadi pastikan hasilnya diawali %PDF-.
atob / Uint8Array.fromBase64 Buat Uint8Array sebelum membuat Blob. Uint8Array.fromBase64() adalah fungsi bawaan yang lebih baru; periksa dukungannya di browser target Anda.
base64_decode file_put_contents('out.pdf', base64_decode($s, true)). Berikan true untuk mode ketat; jika tidak, karakter tidak valid dibuang diam-diam.
Convert.FromBase64String File.WriteAllBytes("out.pdf", Convert.FromBase64String(s)). Whitespace diizinkan; - dan _ tidak.
base64 -d / certutil macOS dan Linux: base64 -d < in.txt > out.pdf. Windows: certutil -decode in.txt out.pdf.
JVBERi0xLjQKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4K…
PDF · versi 1.4 · diunduh sebagai file.pdf
Diawali JVBERi0, yaitu %PDF-. Tidak ada yang perlu dibersihkan, jadi langsung di-decode apa adanya.
"data:application\/pdf;base64,JVBERi0xLjQK…"
Dibaca sebagai: tanda kutip di sekeliling dihapus → escape JSON dikembalikan → prefiks data URI dihapus (application/pdf)
json_encode di PHP dan sebagian serializer Java menulis / sebagai \/. Jika ditempel ke decoder yang tidak mengembalikannya, backslash menjadi karakter ilegal.
{"code":0,"data":{"name":"invoice.pdf","file":"JVBERi0xLjQK…"}} Dibaca sebagai: field data.file diambil dari JSON
Tidak perlu memotong string secara manual. Field terpanjang yang tampak seperti Base64 dipakai dan path-nya ditampilkan.
data:application/pdf;base64,iVBORw0KGgoAAAANSUhEUgAA…
Peringatan: data URI menyebut application/pdf, tetapi byte-nya PNG. Disimpan sebagai file.png
Banyak konverter akan menulis .pdf yang tidak bisa dibuka pembaca mana pun. Di sini magic bytes mengalahkan label.
255044462d312e370a…
Peringatan: ini tampak seperti heksadesimal — dibaca sebagai hex, isinya PDF. [Decode sebagai hex]
Semua digit hex adalah karakter Base64 yang sah, jadi decode Base64 tidak gagal; hasilnya diam-diam berupa data sampah. 25 50 44 46 adalah %PDF.
Base64 mentah, data:application/pdf;base64,…, string yang disalin dari JSON dengan escape \/, atau seluruh respons API. Untuk string yang sangat panjang, gunakan Buka file .txt alih-alih menempel.
Baris di bawah kotak mencantumkan setiap langkah pembersihan — prefiks dihapus, escape dikembalikan, padding ditambahkan, field diambil dari JSON. Jika ada yang salah, pesan error menyebutkan karakter dan posisinya secara tepat.
Badge menampilkan tipe yang dibaca dari magic bytes file. Catatan kuning muncul jika file ternyata bukan PDF, jika data URI berbohong soal tipenya, atau jika PDF terpotong sebelum %%EOF.
PDF dibuka di penampil bawaan browser, gambar dan teks ditampilkan langsung. Ganti nama file jika perlu lalu klik Unduh. Untuk arah sebaliknya, pindah ke PDF / file → Base64 dan jatuhkan sebuah file.
data:application/pdf;base64, bukan bagian dari Base64. Jika dibiarkan, decoder akan melempar error (: dan ; ilegal) atau, pada decoder yang longgar, merusak byte pertama sehingga file tidak lagi diawali %PDF-.
base64.b64decode(value) # value = 'data:application/pdf;base64,JVBERi0…'
b64 = value.split(',', 1)[1] if value.startswith('data:') else value
pdf = base64.b64decode(b64) PDF adalah file biner. Mengubah byte hasil decode menjadi string lalu menulisnya dengan encoding teks akan mengganti byte yang tidak valid dan mengubah akhir baris, sehingga tabel cross-reference rusak.
fs.writeFileSync('out.pdf', Buffer.from(b64, 'base64').toString()) fs.writeFileSync('out.pdf', Buffer.from(b64, 'base64')) Base64.getDecoder() di Java menolak jeda baris. Base64 dari email atau dari perintah base64 di Linux dibungkus per 76 karakter. Gunakan decoder MIME, atau hapus whitespace terlebih dahulu.
byte[] pdf = Base64.getDecoder().decode(wrapped); // IllegalArgumentException
byte[] pdf = Base64.getMimeDecoder().decode(wrapped);
JWT dan banyak parameter URL memakai - dan _ sebagai ganti + dan /, serta membuang padding =. Decoder standar akan menolaknya atau menghasilkan byte yang salah.
base64.b64decode(token_part) # contains - and _
base64.urlsafe_b64decode(token_part + '=' * (-len(token_part) % 4))
Di browser, atob mengembalikan binary string, satu karakter per byte. Jika diteruskan ke new Blob([str]), string itu di-encode sebagai UTF-8 sehingga setiap byte di atas 127 menjadi dua byte. Salin dulu ke Uint8Array.
new Blob([atob(b64)], { type: 'application/pdf' }) const bytes = Uint8Array.from(atob(b64), c => c.charCodeAt(0));
new Blob([bytes], { type: 'application/pdf' }) PDF diakhiri %%EOF. Jika Base64 terpotong oleh kolom VARCHAR, batas panjang baris log, atau salinan yang tidak lengkap, file tetap bisa di-decode tetapi pembaca menampilkan error atau halaman yang hilang. Bandingkan panjangnya dengan yang dihasilkan pengirim.
SELECT LENGTH(pdf_b64) FROM docs; -- 65535: suspiciously round
ALTER TABLE docs MODIFY pdf_b64 LONGTEXT; -- or store the bytes in a BLOB
{"filename": …, "content": "<base64>"}. Encode file di sini untuk menyusun request uji di Postman atau cURL.%%EOF yang hilang menandakan kolom atau baris log-nya terlalu pendek.+ / (standar, bagian 4) dan - _ (aman untuk URL dan nama file, bagian 5). Base64 URL-safe biasanya menghilangkan padding =. Jika keduanya bercampur dalam satu string, berarti string itu pernah diedit atau digabung.= membuat panjang menjadi kelipatan 4. Tanpanya, sisa 2 atau 3 masih bisa dipulihkan; sisa 1 mustahil untuk Base64 yang valid — ada karakter yang hilang atau bertambah. = di tengah biasanya berarti dua string digabungkan.%PDF- untuk PDF, 89 50 4E 47 untuk PNG, 50 4B 03 04 untuk format berbasis ZIP seperti DOCX dan XLSX. Byte tersebut menentukan karakter Base64 pertama, sehingga tipenya bisa dibaca sebelum decode — lihat tabel di alat ini.%%EOF. Jika penanda itu tidak muncul dalam 1,024 byte terakhir, file hampir pasti terpotong. Header boleh dimulai hingga 1,024 byte dari awal; kebanyakan pembaca tetap membuka file seperti itu, jadi hal ini dilaporkan tetapi tidak ditolak.{"filename": "invoice.pdf", "mime": "application/pdf", "content": "…"}) atau gunakan data URI, supaya penerima tidak perlu menebak.%PDF-. Satu baris kode ini menangkap field yang salah, encoding ganda, dan halaman error yang dikembalikan sebagai Base64.multipart/form-data atau URL unduhan pre-signed lebih ringan bagi kedua sisi.BLOB/bytea sepertiga lebih kecil dan tidak bisa terpotong diam-diam seperti VARCHAR. Encode ke Base64 hanya di batas API.data:application/pdf;base64,, tanda kutip, jeda baris, dan escape JSON boleh tetap ada — semuanya dihapus otomatis. data: ikut di-decode sebagai data; byte ditulis sebagai teks, bukan biner; string terpotong (tidak ada %%EOF di akhir); Base64 di-encode dua kali; atau datanya sama sekali bukan PDF — misalnya PNG atau pesan error JSON. Tempel string yang sama di sini: setiap kasus tersebut menampilkan peringatan khusus. JVBERi0 adalah PDF, iVBORw0KGgo adalah PNG, /9j/ adalah JPEG, R0lGOD adalah GIF, UEsDB adalah ZIP (dan karena itu DOCX, XLSX, PPTX), H4sI adalah gzip. Alat ini membaca magic bytes hasil decode, menampilkan tipenya, dan menyimpan file dengan ekstensi yang sesuai. data:application/pdf;base64,JVBERi0…. Browser bisa langsung membukanya sebagai tautan atau src. API biasanya hanya menginginkan bagian Base64 setelah koma. %PDF-. Tipe yang ditampilkan adalah tipe byte yang sebenarnya. Kejutan yang sering terjadi: hasil pindaian PNG atau JPEG, DOCX, ZIP berisi beberapa PDF, atau pesan error JSON atau HTML yang di-encode Base64 menggantikan dokumennya. %%EOF. Jika tidak ada, Base64 hampir pasti terpotong: hanya disalin sebagian, dipotong kolom database seperti TEXT MySQL (65,535 byte), atau dipendekkan oleh batas panjang baris log. Ambil ulang string lengkapnya; decode tidak bisa memulihkan data yang hilang. Encoding & Pemformatan
Tabel ASCII lengkap: 128 karakter dalam desimal, heksadesimal, oktal, dan biner, plus konverter dua arah antara teks dan kode ASCII. Karakter kontrol disertai escape sequence, notasi caret, dan di mana Anda menemuinya.
Encoding & Pemformatan
Buat EAN-13, UPC-A, Code 128, Code 39, dan 11 jenis barcode lainnya sebagai SVG atau PNG siap cetak. Ketik 12 digit, digit cek terisi otomatis; kalau salah satu digit keliru, kami sebutkan digit yang seharusnya.
Encoding & Pemformatan
Decode dan encode Base64 online gratis. Konversi real-time dengan dukungan UTF-8 dan emoji. 100% privat di browser Anda. Tanpa pendaftaran.
Encoding & Pemformatan
Decode string Base64 atau data URI kembali menjadi gambar di browser. Pratinjau, baca dimensi & MIME, lalu unduh sebagai PNG, JPG, GIF, SVG. Tanpa upload.
Encoding & Pemformatan
Konversi CSV ke JSON di browser. RFC 4180, infer tipe, baris header, aman big-int. 100% privat, tanpa unggah.
Encoding & Pemformatan
Tempel teks rusak dan dapatkan teks aslinya kembali. Setiap rantai encoding — UTF-8, GBK, Big5, Shift_JIS, EUC-KR, Windows-1252 — dicoba dan diperingkat, lengkap dengan rantainya. Gratis, privat, jalan di browser.