Lewati ke konten

Konverter online gratis VMSG ke CSV

Ekstrak catatan SMS dari backup VMSG menjadi file CSV yang dapat dicari dan kompatibel dengan spreadsheet.

Konversi VMSG ke CSV online - gratis

Mengunggah…

File Anda diproses secara instan dan dihapus segera setelah Anda mengunduhnya.

Cara kerjanya

  1. 1/3

    Unggah file .vmsg Anda

    Klik untuk memilih file yang ingin Anda konversi, atau cukup seret dan lepas file ke area yang ditentukan.

  2. 2/3

    Jalankan konversi .vmsg ke .csv

    Setelah file berhasil diunggah, klik konversi saat Anda siap.

  3. 3/3

    Unduh file .csv hasil konversi

    Hasil konversi siap untuk diunduh.

Bagaimana mengkonversi vmsg ke csv berkas

Utilitas backup ponsel atau messaging lama mungkin mengekspor data SMS sebagai .vmsg, sementara spreadsheet, database, dan tools pelaporan biasanya memerlukan .csv. Konversi mengubah data pesan menjadi baris yang dapat dicari, difilter, diedit, atau diimpor.

Apa itu format VMSG

VMSG, juga disebut vMessage, adalah format berbasis teks yang digunakan oleh ponsel lama, software phone-suite, dan utilitas backup SMS. Sebuah file biasanya berisi bagian BEGIN:VMSG, BEGIN:VENV, dan BEGIN:VBODY dengan properti seperti TEL, DTSTART, SUBJECT, BODY, X-IRMC-BODY, X-IRMC-TYPE, dan X-IRMC-BOX.

VMSG dapat dibaca sebagai plain text, tetapi record bertingkat dan properti khusus vendor tidak otomatis ditampilkan sebagai baris dan kolom. Beberapa file menyimpan nomor telepon di bagian VCARD yang membungkusnya, bukan di dalam message body.

Apa itu format CSV

CSV merepresentasikan data tabular sebagai baris dan field. Excel, LibreOffice Calc, Google Sheets, database import tools, dan sebagian besar scripting libraries mendukungnya. Ekspor pesan biasanya menggunakan kolom seperti date, phone, type, folder, subject, dan body.

CSV berguna untuk mengurutkan berdasarkan tanggal, memfilter pesan masuk dan keluar, mencari teks pesan, mengimpor record ke sistem lain, dan membuat arsip teks yang ringkas. CSV tidak mempertahankan sintaks VMSG, attachment, status delivery, atau metadata khusus vendor, kecuali nilai-nilai tersebut secara eksplisit diekspor ke kolom tambahan.

Konversi file dengan local script

Tidak ada implementasi standar VMSG yang universal: vendor ponsel dan program backup menggunakan nama properti dan encoding yang berbeda. Python parser lokal berukuran kecil biasanya lebih aman daripada mengunggah pesan pribadi ke website konversi umum.

Install Python 3, simpan kode berikut sebagai vmsg_to_csv.py, lalu letakkan di sebelah source file:

import csv
import sys
import quopri


def decode(value, params):
    if any(p.upper() == 'ENCODING=QUOTED-PRINTABLE' for p in params):
        value = quopri.decodestring(value).decode('utf-8', errors='replace')
    slash = chr(92)
    return (value.replace(slash + 'n', '\n')
                 .replace(slash + 'N', '\n')
                 .replace(slash + ',', ',')
                 .replace(slash + ';', ';')
                 .replace(slash + slash, slash))


def convert(source, destination):
    rows = []
    record = None
    contact_tel = ''
    in_vcard = False

    with open(source, encoding='utf-8-sig', errors='replace') as handle:
        lines = []
        for raw in handle:
            line = raw.rstrip('\r\n')
            if line.startswith((' ', '\t')) and lines:
                lines[-1] += line[1:]
            else:
                lines.append(line)

    for line in lines:
        upper = line.upper()
        if upper == 'BEGIN:VCARD':
            in_vcard = True
            continue
        if upper == 'END:VCARD':
            in_vcard = False
            continue
        if upper == 'BEGIN:VBODY':
            record = {}
            continue
        if upper == 'END:VBODY':
            if record is not None:
                record['_CONTACT_TEL'] = contact_tel
                rows.append(record)
            record = None
            continue
        if ':' not in line:
            continue
        left, value = line.split(':', 1)
        parts = left.split(';')
        name = parts[0].upper()
        value = decode(value, parts[1:])
        if in_vcard and name == 'TEL':
            contact_tel = value
        elif record is not None:
            record[name] = value

    def first(row, names):
        for name in names:
            if row.get(name, ''):
                return row[name]
        return ''

    columns = ['date', 'phone', 'type', 'folder', 'subject', 'body']
    with open(destination, 'w', newline='', encoding='utf-8-sig') as handle:
        writer = csv.DictWriter(handle, fieldnames=columns)
        writer.writeheader()
        for row in rows:
            writer.writerow({
                'date': first(row, ['DTSTART', 'DATE']),
                'phone': first(row, ['TEL', 'X-IRMC-RECIPIENT', 'TO', 'FROM', '_CONTACT_TEL']),
                'type': first(row, ['X-IRMC-TYPE', 'TYPE']),
                'folder': first(row, ['X-IRMC-BOX', 'FOLDER']),
                'subject': first(row, ['SUBJECT']),
                'body': first(row, ['BODY', 'X-IRMC-BODY', 'TEXT', 'MESSAGE'])
            })


if len(sys.argv) != 3:
    raise SystemExit('Usage: python vmsg_to_csv.py input.vmsg output.csv')
convert(sys.argv[1], sys.argv[2])

Jalankan python vmsg_to_csv.py messages.vmsg messages.csv. Pada sistem yang menggunakan command python3, jalankan python3 vmsg_to_csv.py messages.vmsg messages.csv. Buka hasilnya di Calc atau Excel; UTF-8 byte-order mark membantu software spreadsheet mendeteksi karakter non-ASCII.

Sebelum konversi, buka salinan file VMSG di text editor dan periksa nama properti yang sebenarnya. Script mengenali alias umum, termasuk BODY, X-IRMC-BODY, TEXT, dan MESSAGE. Jika pesan menggunakan nama lain, tambahkan nama tersebut ke body list dalam script. Jika file menggunakan character set non-UTF-8, ubah input encoding dan uji karakter beraksen sebelum memproses seluruh backup.

Opsi konversi lainnya

Utilitas khusus seperti vmsg2csv mungkin berfungsi untuk varian phone-backup tertentu, tetapi verifikasi source, properti yang didukung, dan output-nya menggunakan salinan kecil terlebih dahulu. Ketersediaan dan kompatibilitas utilitas lama beragam, dan banyak di antaranya tidak mendekode teks quoted-printable, folded lines, atau field khusus vendor dengan benar.

LibreOffice Calc dan Excel dapat membuka CSV, tetapi keduanya bukan VMSG parser yang andal. Mengimpor file VMSG melalui File → Open hanya berfungsi setelah record dinormalisasi menjadi baris yang dibatasi delimiter.

Online converter umum jarang mencantumkan VMSG sebagai input yang didukung dan mungkin salah membaca struktur bertingkatnya. Gunakan layanan online hanya jika layanan tersebut secara eksplisit mendukung VMSG, menjelaskan kebijakan penyimpanan dan penghapusannya, menggunakan HTTPS, dan tidak memerlukan akses akun yang tidak perlu. Jangan mengunggah backup SMS yang berisi pesan pribadi, nomor telepon, atau authentication codes kecuali risiko privasinya dapat diterima.

Periksa data hasil konversi

Bandingkan beberapa baris CSV dengan source, termasuk pesan yang berisi koma, line break, tanda kutip, karakter non-ASCII, dan body kosong. CSV writer Python mengapit koma dan line break yang disisipkan dengan benar, tetapi program ponsel mungkin menyimpan konten multiline atau quoted-printable dalam bentuk khusus vendor yang memerlukan decoding tambahan.

Simpan file VMSG asli. CSV adalah flattened interchange format dan mungkin tidak menyertakan attachment, status telah dibaca atau delivery, struktur kontak, timestamp dengan informasi timezone, serta field yang tidak disertakan dalam kolom output yang dipilih.

VMSG vs CSV: perbandingan format

Bagaimana format VMSG dan CSV dibandingkan pada properti yang paling penting untuk konversi ini.

Perbandingan format file VMSG dan CSV
Properti .VMSG vMessage SMS backup .CSV Comma-Separated Values
Dapat dibaca teks biasa Ya Ya
Tipe data Tanpa tipe (semua teks) Bertipe
Struktur bertingkat Tidak Tidak
Rumus Tidak Tidak
Beberapa tabel atau sheet Tidak Tidak
Ukuran file umum Sangat kecil Kecil
Standar terbuka Sebagian terbuka Ya
Paling cocok untuk Pertukaran data Pertukaran data
Tipe MIME — text/csv

Informasi tentang ekstensi dan jenis file disediakan oleh File-Extensions.org

Pertanyaan yang sering diajukan

Apakah konverter VMSG ke CSV gratis?

Ya, mengonversi VMSG ke CSV di 101convert.com sepenuhnya gratis. Tidak perlu registrasi, alamat email, atau instalasi. Jika Anda membutuhkan batas ukuran file yang lebih besar atau ingin mengonversi lebih banyak file sekaligus, lihat paket kami.

Seberapa besar file VMSG yang bisa saya unggah?

Anda dapat mengunggah file VMSG hingga 3 MB dan mengonversi hingga 3 file sekaligus dalam satu batch. Dengan paket berbayar, batasnya hingga 50 MB per file dan 100 file sekaligus, lihat paket kami.

Apa yang terjadi pada file yang saya unggah?

File diproses secara otomatis dan dihapus dari server kami beberapa menit setelah konversi. Kami tidak pernah melihat atau membagikan file Anda.

Apakah saya perlu menginstal perangkat lunak untuk mengonversi VMSG ke CSV?

Tidak. Konversi VMSG ke CSV berjalan sepenuhnya online di browser dan berfungsi di Windows, Mac, Linux, Android, dan iPhone.

Konversi gagal?

Dalam sebagian besar kasus, penyebabnya adalah format file yang tidak sesuai. Unggah file VMSG yang valid untuk konversi VMSG ke CSV ini. Terkadang masalah juga dapat terjadi di pihak kami. Kami menganalisis kegagalan konversi yang berulang dan menonaktifkan atau memperbaiki konverter jika menemukan kerusakan.

Informasi apa yang dipertahankan saat mengonversi VMSG ke CSV?

Konversi ini mengekstrak kolom SMS seperti pengirim atau penerima, tanggal dan waktu, serta teks pesan jika kolom tersebut tersedia dalam catatan VMSG. Kolom tambahan yang hanya didukung oleh varian VMSG tertentu mungkin tidak memiliki kolom CSV yang sesuai.

Apakah lampiran dan format pesan tetap dipertahankan saat mengonversi VMSG ke CSV?

Tidak, CSV menyimpan data SMS sebagai teks biasa dan kolom tabular, sehingga lampiran, format teks kaya, dan struktur catatan VMSG asli tidak dipertahankan. Jeda baris di dalam pesan mungkin tetap menjadi isi sel, tetapi tidak akan mempertahankan tampilan aslinya.

Bisakah CSV dikonversi kembali ke cadangan VMSG asli?

Biasanya tidak secara persis, karena CSV tidak menyimpan seluruh struktur VMSG, metadata, atau detail pengodean. CSV sebaiknya dianggap sebagai hasil ekspor yang dapat diedit dan dicari, bukan cadangan yang dapat dikembalikan ke format semula.

Mengapa beberapa pesan VMSG hilang atau terpisah ke kolom yang salah dalam CSV?

Hal ini dapat terjadi ketika cadangan menggunakan varian VMSG nonstandar, berisi catatan yang rusak, atau menggunakan pengodean karakter yang tidak biasa. Koma, tanda kutip, atau jeda baris dalam teks pesan harus ditangani sebagai data CSV, dan catatan yang formatnya rusak dapat menghambat ekstraksi kolom secara andal.

Konversi berkas vmsg lainnya

Konversi ke csv
dari format lain

Bagikan di media sosial:

Sudah diunduh

File ini sudah diunduh. Demi privasi Anda, file langsung kami hapus dari server setelah diunduh, sehingga tidak bisa diunduh lagi. Jika Anda membutuhkannya sekali lagi, konversi ulang file tersebut.