Home  >  Article  >  Backend Development  >  Detailed introduction to data compression

Detailed introduction to data compression

零下一度
零下一度Original
2017-06-14 10:44:221652browse

Preface The LZ77 algorithm is a lossless compression algorithm published by Israeli Abraham Lempel in 1977. LZ77 is a typical dictionary-based compression algorithm, and many current compression technologies are based on LZ77. In view of its status in the field of data compression, this article will introduce its principles in detail with pictures and source code. Principle introduction: First introduce a few professional terms. 1. lookahead buffer (I don’t know how to express it in Chinese, temporarily called the area to be encoded): the area waiting for encoding 2. search buffer: the area that has been encoded, search buffer 3. Sliding window: a window of specified size, including "search" Buffer" (left) + "Area to be encoded" (right) Next, the specific encoding process is introduced: In order to encode the area to be encoded, the encoder searches in the search buffer of the sliding window until a matching string is found. The distance between the starting string of the matching string and the buffer to be encoded is called the "offset value", and the length of the matching string is called the "matching length". When encoding, the encoder will keep searching in the search area until it finds the maximum matching string and outputs (o, l), where o is the offset value and l is the matching length. Then window

1. Summary of example codes about compression algorithms

Introduction: Foreword LZ77 algorithm is a lossless compression algorithm, developed by Israel Published in 1977 by Abraham Lempel. LZ77 is a typical dictionary-based compression algorithm, and many current compression technologies are based on LZ77. In view of its status in the field of data compression, this article will introduce its principles in detail with pictures and source code. Principle introduction: First introduce a few professional terms. 1. lookahead buffer (I don’t know how to express it in Chinese, temporarily called the area to be encoded): the area waiting for encoding 2. search buffer: the area that has been encoded, search...

2. Detailed graphic explanation of the LZ77 compression algorithm encoding Python implementation principle

Detailed introduction to data compression

Introduction: Preface to LZ77 algorithm It is a lossless compression algorithm published by Israeli Abraham Lempel in 1977. LZ77 is a typical dictionary-based compression algorithm, and many current compression technologies are based on LZ77. In view of its status in the field of data compression, this article will introduce its principles in detail with pictures and source code. Principle introduction: First, introduce a few professional terms. 1.lookahead buffer (I don’t know how to express it in Chinese, temporarily called the area to be encoded): the area waiting for encoding 2. search buffer: the area that has been encoded, search buffer 3. Slide...

3. Detailed explanation of PHP data compression, encryption and decryption (pack, unpack)

Detailed introduction to data compression

Introduction: Data is often exchanged in network communications and file storage. In order to reduce network communication traffic, file storage size, and encrypted communication rules, it is often necessary to perform two-way encryption and decryption of data to ensure data security. The main functions needed to implement this function in PHP are mainly the pack and unpack functions, which pack the compressed data into a string. Syntax: string pack(string format, mixed [args]

4. photoshop cs2 v9.0 Green Chinese version of PHP development framework summary collection

Introduction: photoshop cs2 v9.0 Green Chinese version: photoshop cs2 v9.0 Green Chinese version PHP development framework summary collection: development framework WACT http://wact.sourceforge.net/Old PHP programming framework , implements many enterprise-level development models. Horde http://www.horde.org/horde/ provides some common class libraries that can meet the needs of parameter processing, data compression, browser detection, link tracking, and MIME class libraries. Support, API reference provided Seagull http://seagull.phpkitch

##5. Accelerate your page--Data compression_PHP tutorial

Introduction: Speed ​​up your page - data compression. Recently, my website is getting slower and slower, not because of the slow script execution time, but because of the slow network transmission speed. I know that http1.1 supports gzip encoded data. , so try to compress your own pages... (In

6. PHP data compression, encryption and decryption (pack, unpack)_PHP tutorial

Detailed introduction to data compression

Introduction: PHP data compression, encryption and decryption (pack, unpack). Data is often exchanged in network communications and file storage. In order to reduce network communication traffic, file storage size, and encrypted communication rules, it is often necessary to perform two-way encryption and decryption of data to protect

##7. PHP Streams (stream) detailed introduction and use, phpstreams_PHP tutorial

Introduction: PHP Streams (stream) detailed introduction and use, phpstreams. Detailed introduction and use of PHP Streams (stream), phpstreams PHP Streams is a built-in core operation, which may be rarely used by ordinary developers. It is used to unify file, network, data compression and other file operations

8. Two methods to enable Gzip compression in PHP website programs

Introduction: gzip is a network data compression and transmission technique that allows our Bandwidth saving is about 70%, which can greatly speed up web page opening, which is not only beneficial to user experience, but also saves a lot of bandwidth. Generally, apache, Nginx, etc. can enable Gzip service in the configuration file. Let’s talk about how to enable Gzip compression service in PHP website program: The first Gzip compression solution 1. Add the following code in .htaccess: AddHandler application/x-httpd-php&

9. Accelerate your page--data compression

Introduction: Accelerate your page--data compression. My website has been getting slower and slower recently, not because of the slow script execution time, but because of the slow network transmission speed. I know that http1.1 supports gzip-encoded data, so try to compress your own page... (In

10. PHP data compression, encryption and decryption (pack, unpack)

Introduction: PHP data compression, encryption and decryption (pack, unpack) often need to exchange data in network communication and file storage. In order to reduce network communication traffic and file storage. Size and encryption communication rules, it is often necessary to perform two-way encryption and decryption of data to protect the data.

[Related Q&A recommendations]:

php - What are some Compression library that enables front-end javascript to decompress the compressed data returned by the server?

The above is the detailed content of Detailed introduction to data compression. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn