Class Base32Provider
java.lang.Object
org.miaixz.bus.core.codec.binary.provider.Base32Provider
- All Implemented Interfaces:
Serializable,Decoder<CharSequence,,byte[]> Encoder<byte[],String>
public class Base32Provider
extends Object
implements Encoder<byte[],String>, Decoder<CharSequence,byte[]>, Serializable
Base32 - 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)
- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]decode(CharSequence encoded) 执行解码byte[]decode(CharSequence encoded, boolean useHex) 解码数据encode(byte[] data) 执行编码encode(byte[] data, boolean useHex) 编码数据
-
Field Details
-
INSTANCE
单例对象
-
-
Constructor Details
-
Base32Provider
public Base32Provider()
-
-
Method Details
-
encode
Description copied from interface:Encoder执行编码 -
encode
编码数据- Parameters:
data- 数据useHex- 是否使用Hex Alphabet- Returns:
- 编码后的Base32字符串
-
decode
Description copied from interface:Decoder执行解码- Specified by:
decodein interfaceDecoder<CharSequence,byte[]> - Parameters:
encoded- 被解码的数据- Returns:
- 解码后的数据
-
decode
解码数据- Parameters:
encoded- base32字符串useHex- 是否使用Hex Alphabet- Returns:
- 解码后的内容
-