ALL >> Computer-Programming >> View Article
Understanding The Magic Of Data Compression

Data compression is the process in which big files are turned into smaller files. For example a large Word document is compressed to a smaller archive file like Zip or 7Z. To some data compression looks like magic.
Data compression is not magic but an algorithmic process in which the same data is represented in a more efficient way. Actually one way to look at data compression is as data redundancy. In other words instead of thinking that the compressed file is smaller than the original data file think of the compressed file as the original file and the bigger data file as a very in efficient representation of it.
For example lets say that you have a text file with this content the letter A then a thousand spaces and the letter B. The file would consume 1002 characters. This is however a very inefficient representation it would be much shorter to have a file with a content that says something like A then thousand spaces then B.
So why do computers store and use inefficient files at all? The reason is simple they are easier and faster to handle and process and when storage is not a problem there is no real ...
... disadvantage of storing bigger files. But when you need to backup file or for example send them over the Internet making them smaller is more efficient.
Compressing files is done by using one out of many what are knows as compression or archiving utilities. There are many compression algorithms that were developed each with its advantages and disadvantages. For example some compress files faster while some compress file slower but achieve higher compression ratio. Some compression types can compress and pack multiple files while some can work only on one file at a time. Some are better for certain file types for example some compression algorithms are optimized for multimedia files while others for textual documents. Some consume more memory in order to compress the data while others are slim and can run on resource limited computers.
Although there are many compression algorithms they all fall under two main categories. One is known as lossless compression and the other as lossy compression. The difference is in the ability to revert the compressed file into the original not compressed file and get the exact same data. Lossless compression means that if you compress a file into an archive and then decompress the archive you will get the exact same file. Lossy compression means that if you compress a file into an archive and then decompress the archive you will get a slightly different file. Why would you want lossy compression that does not revert to the same file? Because it can result in much higher compression ratio. For some type of files losing some data is not noticeable while the high compression ratio is a great advantage. An example for such files are pictures and videos. On the other hand lossless compression is a must when compression data files such as documents and spreadsheets. Jack Church writes at 7zip
Add Comment
Computer Programming Articles
1. Beyond Ticketing: Using Laravel And N8n To Automate Customer Onboarding WorkflowsAuthor: Andy
2. Top Web Development Institutes In Bhopal: Turning Ideas Into Code
Author: Kabir Patel
3. Software Testing Tutorial: Learn Manual And Automation Testing With Easy Examples
Author: Tech Point
4. Ultimate Yii Framework Tutorial For Building Powerful Php Websites
Author: Tech Point
5. Java Job Support: Real-time Assistance For Developers To Succeed
Author: RKIT Labs Team
6. Unlocking Business Growth With Predictive Analysis
Author: Sakhi Kaya
7. What Is A Distributed Environment In Software Development?
Author: Aimbeat Insights
8. A Multi-tenant Admin Dashboard With Laravel And Next.js
Author: Andy
9. How To Choose The Data Science Training In Bhopal For Your Career Growth
Author: Kabir Patel
10. Transform Your Ideas With A Mobile App Development Company
Author: diya
11. Magento 2 Tutorial: Easy Guide To Launch And Manage Your E-commerce Business
Author: Tech Point
12. Joomla Tutorial For Beginners: Learn To Create And Manage Websites
Author: Tech Point
13. Metaverse Gaming: How Blockchain Will Power The Next Virtual Worlds
Author: Severus Snape
14. Building Smarter Businesses With Mobile App Development At Nij Web Solution
Author: app development
15. Building A Scalable Flutter App With Microservices Architecture
Author: Andy