public class Base62 {
private static final String baseDigits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
public static String toBase62(int decimalNumber) {
return fromDecimalToOtherBase(62, decimalNumber);
}
public static int fromBase62(String base62Number) {
return fromOtherBaseToDecimal(62, base62Number);
}
private static String fromDecimalToOtherBase(int base, int decimalNumber) {
String result = decimalNumber == 0 ? "0" : "";
while (decimalNumber != 0) {
int mod = decimalNumber % base;
result = baseDigits.substring(mod, mod + 1) + result;
decimalNumber = decimalNumber / base;
}
return result;
}
private static int fromOtherBaseToDecimal(int base, String number) {
int result = 0;
for (int pos = number.length(), multiplier = 1; pos > 0; pos--) {
result += baseDigits.indexOf(number.substring(pos - 1, pos)) * multiplier;
multiplier *= base;
}
return result;
}
public static void main(String[] args) {
System.out.println(toBase62(37984));
System.out.println(fromBase62("9se"));
}
}
分享到:
相关推荐
base62.js, node.js的javascript Base62编码/解码器 Base62.js JavaScript Base62编码/解码器什么是Base62编码?Base62编码将数字转换为ASCII字符串( 0 -9,一个z 和一个z ),反之亦然,这通常会导致比较短的字符串...
base62编码 与 base64编码 完全一致,只是去掉了2个不便于在网络上传输的符号。
tiny-php, 可逆 base62 ID obfuscater 可逆 base62 ID obfuscater作者最初由 Jacob DeHart提供的ruby 和 python 端口由 Kyle Bragger现在由 Zack Kitzmiller 维护。安装通过编辑器安装{
base62.js base62编码/解码库安装npm $ npm install base62.js纱$ yarn add base62.js用法node.js const base62 = require ( 'base62.js' ) ;浏览器< script src =" base62.min.js " > </ script > 如果...
Base62 该库实现base62编码。 除整数外,它还可以编码和解码任意数据。 例如,当生成url安全时,这很有用。 安装 用安装。 $ composer require tuupola/base62 该分支需要PHP 7.1或更高版本。 较早的1.x分支还...
chewingum软件包包含两个主要程序:-base62-chew它们已在perl中实现。 Base62也已经用c ++编码。 嚼被写成缩短长的十进制整数到base62字符串。 这不是单纯的基本转换,因为它在逻辑内部不使用算术运算。 这样,它...
Base62库 这是一个小型Java库,用于以base-62格式编码和解码数据。 它主要用于以紧凑且在URL中运行良好的方式对UUID进行编码。 与base-64相比,它不需要任何非字母数字字符。 基本-62系统的62位由10个字符为十进制...
它的默认字母为0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ (和base62编码)。 解码器对有效性进行简单检查(输入字母中的字符不在字符集中),并为无效字符串返回-1 。 主要用例(正在被...
base62.cr:Crystal的Base62编码器解码器
该存储库已存档,并且仅用于不破坏人们的模块。 新家@ base62 使用 62 个字符 [0-9][AZ][az] 的 base62(双十六进制)编码 例子: 请参阅编码/解码示例。 -
Base62类源码:复制代码 代码如下:class Base62 { private $string = “vPh7zZwA2LyU4bGq5tcVfIMxJi6XaSoK9CNp0OWljYTHQ8REnmu31BrdgeDkFs”; public function base62_encode($str) { $out = ”; for($t=floor...
base62随机概述这是一个TypeScript库,用于生成随机的base62字符串。 它使用内置的Node.js加密库生成随机字符。安装npm install --save @walter.scarborough/base62-random用法使用所需的随机base62输出长度来调用...
DEFAULT_BASE62 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.chars 用法 irb(main):001:0> id = SecureRandom.uuid => "4890586e-32a5-4f9c-a000-2a2bb68eb1ce" irb(main):003:0> short_...
尝试提供 Base62 编码的 go 库,非常适合 URL 缩短器。 受到严重影响并且完全未经测试。
Base62 Base62monkeypatches Integer 增加一个Integer#base62_encode 实例方法,对0-9 + AZ + az 字符集中的整数进行编码。 它还monkeypatches String 添加 String#base62_decode 以获取字符串并将其转换回有效整数...
该软件包已被所有者归档并放弃。 现在是只读的。
将字符串编码和解码为base62(及其他) 概述 最流行的和其他仅支持将number转换为base62。 当试图以高于52位的精度(例如,UUID)转换较大的数字时,这将成为一个问题。 因此, b62允许将字符串(不仅是字符串)...
lzbase62 base62中基于LZ77(LZSS)JavaScript压缩算法。 压缩后的结果将是一个以62个基数(0-9A-Za-z)为字符的字符串。 将大量数据存储在大小受限制的存储区(例如localStorage或cookie)中时,此功能很有用。演示...
/** * 封装各种格式的编码解码工具类. * 1.Commons-Codec的 hex/base64 编码 * 2.自制的base62 编码 * 3.Commons-Lang的xml/html escape * 4.JDK提供的URLEncoder */