Package org.miaixz.bus.core.codec.binary
package org.miaixz.bus.core.codec.binary
BaseN编码解码,提供将bytes和baseN的编码转换功能。
- Base16
- Base32
- Base58
- Base62
- Base64
- Since:
- Java 17+
- Author:
- Kimi Liu
-
ClassesClassDescriptionBase32 - encodes and decodes RFC4648 Base32 (see https://datatracker.ietf.org/doc/html/rfc4648#section-6 ) base32就是用32(2的5次方)个特定ASCII码来表示256个ASCII码。 所以,5个ASCII字符经过base32编码后会变为8个字符(公约数为40),长度增加3/5.不足8n用“=”补足。 根据RFC4648 Base32规范,支持两种模式: Base 32 Alphabet (ABCDEFGHIJKLMNOPQRSTUVWXYZ234567) "Extended Hex" Base 32 Alphabet (0123456789ABCDEFGHIJKLMNOPQRSTUV)Base58工具类,提供Base58的编码和解码方案 参考: https://github.com/Anujraval24/Base58Encoding 规范见:https://en.bitcoin.it/wiki/Base58Check_encodingBase62工具类,提供Base62的编码和解码方案Base64工具类,提供Base64的编码和解码方案 base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符, 也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3。Crockford`s Base32实现 来自:https://gist.github.com/markov/5206312十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15)。 例如十进制数57,在二进制写作111001,在16进制写作39。 像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20是十进制的32,而不是十进制的20ZeroMQ Z85实现, 定义见:ZeroMQ Z85