search
HomeCommon ProblemWhat is base64 encoding

What is base64 encoding

Mar 24, 2021 am 11:11 AM
base64 encoding

Base64 encoding is one of the most common encoding methods for transmitting 8Bit bytecode on the Internet. Base64 is a method of representing binary data based on 64 printable characters. You can view [RFC2045~RFC2049], which contains detailed specifications of MIME.

What is base64 encoding

#The operating environment of this article: Windows 7 system, Dell G3 computer.

Base64 encoding is the process from binary to characters, which can be used to transfer longer identification information in an HTTP environment. Base64 encoding is unreadable and needs to be decoded before it can be read.

Base64 Due to the above advantages, it is widely used in various fields of computers. However, since the output content includes more than two "symbol class" characters (, /, =), different application scenarios Various "variants" of Base64 have been developed separately. To unify and normalize the output of Base64, Base62x is considered an improved version of unsigned.

Standard Base64 is not suitable for transmission directly in the URL, because the URL encoder will change the "/" and " " characters in standard Base64 into the form of "%XX", and these " The "%" sign needs to be converted when it is stored in the database, because the "%" sign has been used as a wildcard character in ANSI SQL.

To solve this problem, an improved Base64 encoding for URLs can be used, which fills the '=' sign at the end and changes the " " and "/" in standard Base64 to "-" respectively. " and "_", this eliminates the need for conversion during URL encoding, decoding and database storage, avoids the increase in the length of encoded information in the process, and unifies the format of object identifiers in databases, forms, etc.

There is also an improved Base64 variant for regular expressions, which changes " " and "/" to "!" and "-", because " ", "*" and the preceding ones are in IRCu The "[" and "]" used in regular expressions may have special meanings.

There are also some variants that change "/" to "_-" or "._" (used as an identifier name in programming languages) or ".-" (used in XML Nmtoken) or even "_:" (for Name in XML).

Base64 requires converting every three 8Bit bytes into four 6Bit bytes (3*8 = 4*6 = 24), and then adding two high-bit 0s to the 6Bit to form four 8Bit bytes, that is to say, the converted string will theoretically be 1/3 longer than the original one.

Rules

Rules about this encoding:

①. Convert 3 bytes into 4 bytes.

②Add a newline character every 76 characters.

③. The final terminator must also be processed.

Example

Before conversion 11111111, 11111111, 11111111 (binary)

After conversion 00111111, 00111111, 00111111, 00111111 (binary)

The upper three bytes are the original text, and the lower four bytes are the converted Base64 encoding, with the first two bits being 0.

After conversion, we use a code table to get the string we want (that is, the final Base64 encoding). This table is like this: (Excerpted from RFC2045)

Related video recommendations: PHP programming from entry to proficiency

The above is the detailed content of What is base64 encoding. 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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Atom editor mac version download

Atom editor mac version download

The most popular open source editor