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)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.