Class CrockfordBase32
java.lang.Object
icu.congee.id.base.CrockfordBase32
Crockford Base32编码工具类。
实现了Douglas Crockford的Base32编码规范,这是一种人类可读的编码方案,
设计用于减少视觉混淆,例如将容易混淆的字符(如'I'、'L'、'O')映射到其他字符。
- See Also:
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
CrockfordBase32
public CrockfordBase32()
-
-
Method Details
-
encode
将字节数组编码为Crockford Base32字符串。 编码过程将每5个比特映射为一个字符,使用特定的32字符字母表。- Parameters:
data- 要编码的字节数组- Returns:
- 编码后的Base32字符串,如果输入为null或空数组则返回空字符串
-
decode
将Crockford Base32编码的字符串解码为字节数组。 解码过程会自动处理字符大小写,并将特殊字符(如'I'、'L'、'O')映射到对应的数值。- Parameters:
encoded- 要解码的Base32字符串- Returns:
- 解码后的字节数组,如果输入为null或空字符串则返回空数组
- Throws:
IllegalArgumentException- 如果输入字符串包含无效字符
-
main
测试方法,演示Base32编码和解码的基本用法。 将一个示例字符串进行编码和解码,并打印结果。- Parameters:
args- 命令行参数(未使用)
-