Deutsch English Français Italiano |
<87jzj1zv0p.fsf@nosuchdomain.example.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!feeds.phibee-telecom.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson <Keith.S.Thompson+u@gmail.com> Newsgroups: comp.lang.c Subject: Re: ASCII to ASCII compression. Date: Thu, 06 Jun 2024 13:16:54 -0700 Organization: None to speak of Lines: 40 Message-ID: <87jzj1zv0p.fsf@nosuchdomain.example.com> References: <v3snu1$1io29$2@dont-email.me> <v3spmv$1jbjq$1@dont-email.me> <v3t150$1kia9$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Thu, 06 Jun 2024 22:16:54 +0200 (CEST) Injection-Info: dont-email.me; posting-host="312f447cfabd6fa200fff64b72ccc5f2"; logging-data="1738199"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19DyK0YwNP2kgPdgovgBL/B" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) Cancel-Lock: sha1:FC55ddqnHt1tD8rKGoR67ydMcd0= sha1:o+4XS3m+MlFWte0F/t9i8MVF8SA= Bytes: 2677 Malcolm McLean <malcolm.arthur.mclean@gmail.com> writes: > On 06/06/2024 17:55, bart wrote: >> On 06/06/2024 17:25, Malcolm McLean wrote: >>> >>> Not strictly a C programming question, but smart people will see >>> the relavance to the topicality, which is portability. >>> >>> Is there a compresiion algorthim which converts human language >>> ASCII text to compressed ASCII, preferably only "isgraph" >>> characters? >>> >>> So "Mary had a little lamb, its fleece was white as snow". >>> >>> Would become >>> >>> QWE£$543GtT£$"||x|VVBB? >> What's the problem with compressing to binary (using existing, >> efficient utilities), then turning that binary into ASCII (like Mime >> or Base64)? >> > Because if a single bit flips in a zip archive, it's likely the entire > archive will be lost. This scheme is robust. We can emed compressed > text in programs, and if it is corruped, only a single line will > become unreadable. You're adding requirements that you didn't mention in your original post. Compressing to binary and then encoding with base64 or something similar meets your original requirements. You've added requirements for partial robustness against single-bit errors and, apparently, compressing each line independently. You could use xz+base64 on each line, but you won't get very good compression ratios if you don't give the compressor a large amount of (potentially redundant) data to work with. -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com void Void(void) { Void(); } /* The recursive call of the void */