PHP supporta una varietà di algoritmi di compressione e librerie popolari di compressione , come Bzip2, LZF e Rar, e per gli scenari più comuni offre un eccellente supporto per lavorare con i dati binari. È disponibile almeno una implementazione PHP di un algoritmo di compressione , a dimostrazione che è possibile. PHP e qualsiasi altra lingua interpretata potrebbero risultare inefficienti per l'attività, ma i problemi di efficienza dipendono in gran parte dalle specifiche dell'implementazione e dall'utilizzo effettivo della libreria, per la quale non si forniscono informazioni sufficienti.
Ti consiglio di non provare a creare il tuo algoritmo di compressione e utilizzare invece una libreria stabilita, non ha senso reinventare la ruota. Non devi usare PHP se non lo vuoi, ogni lingua orientata al web ha il supporto per le librerie di compressione popolari. Puoi utilizzare Gzip e Zlib moduli principali o moduli gzip o bzip2 di Python . Non so quale tipo di supporto per la compressione abbia Ruby, ma questa domanda StackOverflow può aiutare tu, se scegli Ruby.
Ma se per qualsiasi motivo vuoi davvero scrivere il tuo algoritmo di compressione originale, dovresti probabilmente scegliere C. C è estremamente portabile * e se riesci a creare effettivamente una libreria di compressione, allora puoi usalo da PHP tramite un'estensione o in Python tramite un modulo. Entrambe le estensioni PHP e i moduli Python sono anche comunemente scritte in C, e sarebbe abbastanza facile scriverne una se si è trattato di scrivere un algoritmo di compressione. E c'è sempre l'opzione vecchia scuola della programmazione web C tramite CGI , se non ti dispiace immergerti in un mondo di dolore.
* Esistono compilatori C per quasi tutte le piattaforme immaginabili e modi per utilizzare le librerie C da quasi tutte le altre lingue.