Vad är BinHex?

BinHex är en metod som används vid datoranvändning för att konvertera en binär fil till ett textformat så att den kan överföras över ett nätverk. Detta är en äldre filkodningsteknik, utformad som ett sätt att hjälpa till att hantera tidiga kommunikationsprotokoll för datornätverk som inte kunde överföra binära data. Filerna som konverteras på detta sätt kommer att ha ett av tre möjliga filnamnssuffix: .hex, .hcx eller .hqx, beroende på version. Den kodade filens text är dock läsbar i en vanlig textvisare, och avkodningskravet för BinHex-versionen visas på den första raden i filen.

Den första BinHex-kodningstekniken utvecklades redan 1981 för att hantera den då vanliga praxis där data överfördes via kommunikationskanaler var American Standard Code for Information Interchange (ASCII) texttecken. Denna första implementering utarbetades av Tim Mann och användes på TRS-80® persondatorer i början av 1980-talet. När Apple® Macintosh-datorn dök upp portades tekniken för att fungera med Macintosh®-filer och vidareutvecklades av en man vid namn Yves Lempereur, som förbättrade kodningshastigheten och komprimeringen.

I sin kärna tar den ursprungliga BinHex-kodningsmetoden grupper om fyra binära siffror, eller bitar, i en binär fil och representerar dem som en enda hexadecimal siffra, som är siffrorna 0 till 9 och bokstäverna A till F. Varje hexadecimal siffra kan sedan paras ihop med en annan och kodas som ett ASCII-texttecken. Detta kallas ibland för en 8-till-4-kodning, eftersom processen använder åtta bitar för att representera fyra. Naturligtvis gör detta den kodade .hex-filen mycket större än dess ursprungliga binära motsvarighet, men den vanliga texten kan också delas upp i separata filer för överföring.

BinHex-kodningsmetoden skapade också en arkiverings- eller inkapslingsteknik för att hantera den tvådelade karaktären hos det tidiga Apple® Macintosh®-filformatet. Dessa filer hade två primära komponenter: en resursgaffel och en datagaffel. Med en BinHex-kodning skulle båda Macintosh®-filgafflarna vara inkapslade i kodningen, vilket gör det möjligt för den mottagande sidan att avkoda hela filen. Som ett resultat blev kodningsmetoden det primära arkiverings- och överföringsformatet på Macintosh®-datorerna på 1980- och 90-talen.

Efter att ha etablerat sitt fotfäste på Macintosh® behövde BinHex-tekniken förbättras. En andra version utvecklades som inte längre använde hexadecimal kodning, istället implementerade en 8-till-6-kodningsteknik, som reducerade den kodade filstorleken med hälften. Dessa nya kompakta filer, även om de inte längre är tekniskt hexadecimala till sin natur, höll fortfarande fast vid namnformatet BinHex, men ändrade filtillägget till .hcx. Den här metoden hade dock problem med datorsystem som använde icke-engelska tecken, varvid filen skulle skadas under avkodningsprocessen eftersom vissa tecken översattes.

Den slutliga BinHex-versionen fixade dessa problem genom att endast använda tecken som inte automatiskt skulle översättas under avkodningen. Kodningsmetoden inkluderade också ytterligare felkontrolltekniker som säkerställde mot alla oavsiktliga ändringar i texten. Dessa mer stabila kodade filer fick sedan suffixet .hqx, men behöll fortfarande komprimeringen av sina .hcx-föregångare.