WikiDer > BinHex - Vikipediya
Fayl nomi kengaytmasi | .hqx |
---|---|
Internet-media turi | application / mac-binhex40 ilova / mac-binhex ilova / binhex |
Bir xil turdagi identifikator (UTI) | com.apple.binhex-arxivi |
BinHex, dastlab "ikkilikdan o'n oltilikka" qisqartmasi, a ikkilikdan matngacha kodlash da ishlatilgan tizim klassik Mac OS orqali ikkilik fayllarni yuborish uchun elektron pochta. Dastlab a o'n oltinchi kodlash, BinHex-ning keyingi versiyalari ko'proq o'xshash uen kod, lekin ikkalasini ham birlashtirdi "vilkalar" kengaytirilgan fayl ma'lumotlari bilan birgalikda Mac fayl tizimining. BinHexed fayllari asl fayllarga qaraganda ko'proq joy egallaydi, ammo bunday bo'lmaydi buzilgan "tomonidan emas8-bit toza"dasturiy ta'minot.
Tarix
TRS-80 BinHex (.hex)
BinHex dastlab 1981 yilda Tim Mann tomonidan yozilgan TRS-80, dastlab mashhur bo'lib o'rnatilgan kodlash sxemasining mustaqil versiyasi sifatida terminal emulyatori, ST80-III tomonidan Lens Miklus. BinHex fayllarni major orqali yuborish uchun ishlatilgan onlayn xizmatlar kabi CompuServe, "8-bit toza" bo'lmagan va talab qilinadigan ASCII qurol-yarog ' omon qolish. Biroq, hammasi ham ST-80 dan foydalanmagan, shuning uchun Mann boshqa emulyatorlarning foydalanuvchilariga formatdan foydalanishga ruxsat berish uchun BinHex-ni yozgan.[1]
Dastlabki ST-80 tizimi ikkilik fayl tarkibini konvertatsiya qilish orqali ishladi o'n oltinchi o'zlari kabi kodlangan raqamlar ASCII raqamlar va harflar. Keyin a qo'shildi yangi qator har 60 belgidan keyin. Mann uni yuklaganidan keyin tizim juda mashhur bo'ldi KompuserveFayllar maydoni TRS-80. Tizim tezda a qo'shimchasini qo'lga kiritdi summa xatolarni tekshirish uchun har bir satr oxirida. Bill Stokvell ushbu versiyani Bannic / S kompilyatoriga aylantirdi, bu Mannning talqin qilingan versiyasidan ancha tez ishladi.[1]
BinHex davridagi fayllarga odatda fayl kengaytmasi .hex. Tez orada portlar davrning boshqa mashhur platformalari, shu jumladan Apple II. Keyinchalik CompuServe 8-bitli o'tkazmalarni qo'llab-quvvatladi va format tezda yo'q bo'lib ketdi.[1]
Mac BinHex (.hex)
Fayllarni yuklash muammosi CompuServe-da Mac birinchi marta 1984 yilda chiqarilganda mavjud edi. 1984 yil aprel oyida Uilyam Devis BinHex-ni Mac-ga ko'chirdi Microsoft BASIC asosan o'sha davrning TRS-80 versiyalari bilan bir xil bo'lgan versiyani ishlab chiqarish.[1] Ushbu versiya faqat "ma'lumotlar vilkasi" ni kodlashni qo'llab-quvvatlaydi, e'tiborga olinmaydi manba vilkasi, bu faqat ma'lumot fayllari uchun ishlatilishini anglatardi. Dan foydalanishning o'sishi Internet Elektron pochta Macintosh-ning chiqarilishi bilan taxminan bir vaqtga to'g'ri keldi va Devisning versiyasi Info-Mac pochta ro'yxati 1984 yil iyun oyida Djoel Xeller tomonidan. 1984 yilda bir nechta yangi versiyalari nashr etildi, natijada BinHex 3 ikkala vilkani ham kodlashi mumkin edi.
Iv Lemper, birinchi muallif montajchi Mac uchun MacASM, o'z fayllarini CompuServe-ga yuklash uchun BinHex-dan foydalanish kerakligini aniqladi. The ASOSIY versiya juda sekin edi, shuning uchun Lempereur BinHex 3-ni assembler-ga o'tkazdi va uni BinHex 1.0 sifatida chiqardi. Dastur BASIC versiyasidan qariyb yuz baravar tezroq edi va tez orada yangilanish talablari paydo bo'ldi.[2]
Yilni BinHex (.hcx)
Dastlabki BinHex juda sodda format edi, chunki u unchalik samarali emas edi, chunki u har o'n baytlik vakili talab qilganidek, har bir baytni ikkitaga kengaytirdi - 8 dan 4 gacha bitli kodlash. BinHex 2.0 uchun Lempereur yangi 8 dan 6 gacha kodlashni qo'llagan, bu fayl hajmini 50 foizga qisqartirgan. Shuningdek, u fursatdan foydalanib, nazorat summasini 8 dan 16 bitgacha kengaytirdi.[2]
Ushbu yangi kodlash ma'lumotni namoyish qilish uchun bo'shliqni o'z ichiga olgan birinchi 64 ASCII bosma belgidan foydalangan,[3] shunga o'xshash uen kod. Yangi kodlash endi yo'q bo'lsa ham o'n oltinchi tabiatda dasturning belgilangan nomi saqlanib qoldi. Kichikroq fayllar eskilariga mos kelmas edi, shuning uchun kengaytma bo'ldi .hcx, ixcham uchun c. Yangi versiya avvalgilarini "bir kechada" almashtirdi.[2]
BinHex 4 (.hqx)
Lempereur-da BinHex-ning ba'zi xususiyatlari, xususan uning o'rniga checksum-ning ishlatilishi haqida xavotir bor edi ishdan bo'shatishni tekshirish (CRC) va haqiqat metadata sarlavhadagi ma'lumotlar oddiy matnda edi va shuning uchun ma'lumotlar kabi buzilgan bo'lishi mumkin.[2]
Ushbu muammolarning barchasini hal qilish uchun Lempereur 1985 yilda BinHex 4.0 ni chiqarib yubordi va hozirda uzoq vaqtdan beri saqlanib kelinayotgan BASIC versiyasi bilan chalkashmaslik uchun. 4.0 birinchi navbatda ma'lumotlar forkini, manba vilkasini va fayl metadatalarini umumiy 8-bitli formatga birlashtirdi, ishladi yugurish uzunligini kodlash (RLE) natijada bir oz siqishni ta'minladi va natijada 8-> 6 konversiyasini ishga tushirdi va bir nechta CRC bilan hamma narsani himoya qildi. Natijada .hqx
fayllari taxminan bir xil o'lchamda edi .hcx
Bu, lekin juda ham mustahkam.[2]
BinHex 5
Taxminan BinHex 4 chiqarilgandan so'ng, aksariyat onlayn xizmatlar 8-bitli fayllarni uzatish kabi mustahkam protokollarni qo'llab-quvvatlashni boshladilar ZMODEMva ASCII qurol-yarog'iga ehtiyoj tugadi. Biroq, bu Mac-da muammo tug'dirdi, chunki ikkita vilkani bittasiga kodlash zarurati mavjud edi.
Macintosh aloqa dasturchilari, shu jumladan Lempereur o'rtasida jamoaviy harakat olib keldi MacBinary. Bu vilkalar tarkibini asl 8-bit formatida qoldirdi va ularni qabulxonada birlashtirish uchun oddiy sarlavha qo'shdi. Shunday qilib MacBinary fayllari BinHex-ga qaraganda ancha kichik edi. Lempereur BinHex 5.0 ni chiqargan, deyarli 4.0 bilan bir xil, faqat MacBinary-dan foydalanib, 8-dan 6-gacha kodlashni ishlatishdan oldin vilkalarni birlashtirish uchun ishlatgan, ammo u kutganidek foydasiz edi.[2]
Ustida Internet, elektron pochta hali ham fayllarni ko'chirishning asosiy usuli edi. O'sha paytda nisbatan kam odam Internetga to'liq kirish imkoniyatiga ega edi va shunga o'xshash xizmatlar mavjud edi FTPmail ko'plab foydalanuvchilar fayllarni yuklab olishning yagona usuli edi. Bir necha yil o'tgach, u birinchi marta Internetga kirganida, Lempereur BinHex 4.0 hali ham juda mashhur ekanligini ko'rib hayron bo'ldi.[2]
Xuddi shu maqsadlarga birinchi foydalanish orqali erishish mumkin MacBinary yoki AppleSingle vilkalarni birlashtirish va undan keyin foydalanish Uuencode yoki Baza 64 natijada olingan faylda, ammo bu echimlarning hech biri hech qachon ommalashmagan va BinHex 4.0 1990-yillarning oxirlarida yaxshi saqlanib qolgan. Fayl arxivlari klassik Mac OS dasturiy ta'minot hali ham BinHexed fayllari bilan to'ldirilgan.
BinHex 4 fayl formati
BinHex faylining mazmuniga qarab, u odatda birinchi satrda uni BinHex deb belgilaydigan xabar borligini, so'ngra tasodifiy ko'rinadigan harflar, raqamlar va tinish belgilaridan iborat 64 ta belgidan iborat qatorlar borligini sezadi. BinHex aslida nimaga o'xshashligi namunasi:
(Ushbu fayl BinHex 4.0 bilan o'zgartirilishi kerak): $ f * TEQKPH # jdCA0d, R0TG! "6594% 8dP8) 3 # 3"! & M! *!% EMa6593K !!% !!! & mFNaKG3, r! *! $ & [rr $ 3d, BQPZD'9i, R4PFh3! RQ + !! "AV # J # 3! i !! N! @QKUjrU! # 3 '[q3" & 4 & @ & 483N) f! 3 # Xaj6bV-H8mJ !!! B3 ! N! 0 "! *! $ [3 # 3! CR @ iiY)! *! '[I% 4 !! JFp $ X% X3 @ J! MZE6! GRiKUi $ HGKMf0U61S46% i1" AB! TI, fLl! d1X3RDDE8ALfTCbM8UP9p4iUqY-0k4krHpk9XK @ `rbj2Ti'U @ 5rGH @ + [fr-i4T6-qXpfl26, k! H5 $ NmlTIkI '(l3GI4) f8mII & 01CNE6" Z1 * G6, Z1 * C1H *, Z1H * * Z1 *! Pd (4 (b`pflKC`H1 & JN5) GVX3mREdH55 [l`% `Yhp% q092c`A (hPV)! 83Dr & f4 $$ L # I1aM-" VjqV-q $ 34KQq6 $ M $ f8 #, Zc, i) ,! (`* ZN! $ K $ rS! LA% 3cL + dYi" @, K (Z "` # 3! FKi !!!:
BinHex versiyalarini tanib olish uchun foydalanuvchilar va vositalar foydalanadigan matn satri bo'lishi kerak: (Ushbu fayl BinHex 4.0 bilan o'zgartirilishi kerak)
.Ushbu satrdan oldingi har qanday matnga e'tibor bermaslik kerak.[4]
Faylning qolgan qismi uch qismdan iborat: sarlavha (fayl nomi, hajmi va boshqalarni o'z ichiga olgan), ma'lumotlar vilkasi (fayl ma'lumotlarini o'z ichiga olgan) va manba vilkasi. Har birida ikki bayt bor CRC summa.
Dan tashqari hamma narsa (Ushbu fayl
... chiziq keyinchalik ASCII belgilariga kodlangan ikkilik ma'lumotlar maydoni sifatida qaraladi. Kodlash algoritmida uchta bayt kiritish to'rtta 6-bitli qiymatlarga bo'linadi, shunga o'xshash tarzda Baza 64 qiladi. 0-63 raqamiga quyidagi ro'yxat bo'yicha belgilar beriladi ! "# $% & '() * +, - 012345689 @ ABCDEFGHIJKLMNPQRSTUVXYZ [` abcdefhijklmpqr "
Kodlashda har 64 belgidan keyin
Adabiyotlar
- ^ a b v d Mann.
- ^ a b v d e f g Lempereur 1997 yil.
- ^ Masalan, ning CWI versiyasining manba kodi
heksbin
kiritilgan makutil, yildahecx.c
satr 187, ifodadan foydalanadi((c) -0x20) & 0x3f
ASCII qiymati bilan HCX raqamining raqamli qiymatini olishv
. - ^ RFC 1741 BinHex kodlangan fayllari uchun MIME tarkibining turi. Faltstrom, P. & Crocker, D. & Fair., E. (1994 yil dekabr).
Bibliografiya
- Mann, Tim. "BinHex tarixi".CS1 maint: ref = harv (havola)
- Lempereur, Iv (1997 yil 25-noyabr). "BinHex tarixi".CS1 maint: ref = harv (havola)
Shuningdek qarang
- Ikkilikdan matngacha kodlash turli xil kodlash algoritmlarini taqqoslash uchun
Tashqi havolalar
- BinHex 4.0 ta'rifi - Piter N Lyuis, 1991 yil avgust.
- O'tkazish :: BinHex, BinHex fayllarini kodlash va dekodlash uchun Perl moduli
- makutil, UNIX uchun turli xil Macintosh fayllari o'rtasida o'zgartiradi
- UUDeview, o'zaro faoliyat platforma buyrug'i dekoderi
- Onlayn BinHex kodlovchi / dekoder
- OldHex, BinHex fayllarini kodlash uchun macOS dasturi.