Setelah membaca komentar Anda, itu terdengar lebih masuk akal. Saya hanya tidak yakin apakah Anda bermaksud menyandikan megabita data seperti ini.
Saya akan merekomendasikan, di sepanjang saran Oliver, bahwa Anda meningkatkan kepadatan data Anda dengan meminjam halaman dari cipher Bacon , yang geng penjara sering gunakan untuk menyandikan pesan tersembunyi dalam missives yang ditulis dalam 2 gaya skrip yang berbeda - biasanya baik atas vs. huruf kecil atau cetak vs. karakter kursif, mis
Hey mOM, WHAT's FOR diNNeR TODAY? = ABBBA AAAAA BAAAB BAABA AAAAA
= P A S T A
Namun, karena tujuan Anda bukan stegnografi, Anda cukup menggunakan ini untuk memperluas set mesin terbang Anda. Melakukan ini, Anda bisa memiliki hingga 114 mesin terbang hanya menggunakan karakter alfanumerik cetak & kursif, atau 12996 poin kode menggunakan pengkodean karakter ganda.
Namun, karena semua jumlah glyph lebih besar dari 15 dan kurang dari 256 pada dasarnya sama untuk cipher data biner lurus (artinya, Anda masih akan membutuhkan 2 karakter untuk mewakili setiap byte, memberikan Anda kepadatan data 4 bit per karakter dalam semua kasus), Anda dapat menggunakan poin kode 98 glyphs / 12740 tambahan untuk deteksi / koreksi kesalahan.
Cara untuk melakukan ini termasuk:
- Pilih satu set 256 kombinasi karakter yang paling mudah dibaca / ditulis. Jika ada kombo karakter lain terjadi, Anda tahu itu adalah kesalahan penyalinan.
- Gunakan dua versi karakter akhir sebagai bit paritas.
Buat 50 set mesin terbang 16-karakter yang berbeda. Anda kemudian dapat menggunakannya untuk menulis sandi data koreksi kesalahan.
Misalnya {set 1}{set 1}
berarti 3 camilan berikutnya sama 0x000
, {set 1}{set 2}
sama dengan 0x001
, dll.
Anda dapat menggunakan ini untuk mewakili 2500+ dari 4096 nilai 1,5 byte yang mungkin. Demikian pula, Anda bisa menggunakan hanya 16 set untuk mewakili semua nilai byte berikut, memberi Anda 100% redundansi tanpa meningkatkan panjang data Anda yang disandikan.
Atau, Anda dapat menggunakan mesin terbang tambahan untuk kompresi tambahan:
- Terapkan pengodean lebar variabel dengan memilih 98 poin kode karakter tunggal. Ini akan mengurangi ukuran konten yang dikodekan rata-rata sekitar 20%.
- Menerapkan sesuatu yang mirip dengan pengkodean run-length dengan menggunakan set mesin terbang yang berbeda atau kombinasi set mesin terbang untuk mewakili nibbles / byte berulang. Misalnya
Ab
= aba
; aB
= abab
; AB
= ababab
...
- Gunakan mesin terbang tambahan atau titik kode untuk mewakili "kata" dan "frasa" yang diulang dalam data Anda. Meskipun data pra-kompresi kemungkinan akan memiliki tingkat entropi yang tinggi, jadi saya tidak tahu seberapa efektif ini.
Untuk lebih mengurangi kesalahan penyalinan, saya akan menampilkan konten yang disandikan dalam garis kisi dan menyalin ke kertas grafik. Jika Anda dapat menggunakan alat tulis khusus yang memiliki warna kolom / baris bergantian atau kisi kotak-kotak bergaya catur dengan kolom berhuruf & baris bernomor untuk pencarian cepat, yang selanjutnya akan meningkatkan akurasi penyalinan.
Anda juga dapat menggabungkan tata letak grid bergantian dengan gaya karakter bergantian sebagai bentuk mudah deteksi kesalahan. Yaitu jika kolom aneh selalu dikapitalisasi, jika transcriber menemukan diri mereka menulis huruf kecil dalam kolom aneh, maka mereka tahu mereka telah membuat kesalahan dan dapat mulai melacak kembali untuk melihat di mana itu terjadi.
Padahal jika prioritas utama Anda adalah akurasi, saya akan menggunakan kode biner +
Hamming . Dengan menggunakan kode Hamming (12, 8) yang disingkat pada kertas grafik standar, Anda mungkin hanya memuat 187 byte, hanya mengkodekan 124 byte data. Tapi itu bisa ditranskripsi sangat cepat (garis miring untuk 1, tidak ada untuk 0) dan memberikan koreksi kesalahan tunggal. Mengolah bit paritas ekstra (13, 8) akan memberikan SECDED (koreksi kesalahan tunggal, deteksi kesalahan ganda). Menggunakan kode hamming standar seperti (15, 11) atau (31, 26), Anda mendapatkan efisiensi yang lebih baik dengan data masing-masing 137 dan 156 byte per lembar. Bahkan tingkat kode yang lebih tinggi dapat dicapai, tergantung pada seberapa akurat Anda menurut pelanggan Anda.
Pengkodean biner juga akan lebih mudah dibaca (keras) dan OCR / OMR.