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编码是一种数据编码方式,它类似于更常见的Base64编码,但进行了微调以适应网络环境,尤其是URL友好的场景。Base62的基本原理是将数字或二进制数据转换为一个由62个可打印字符组成的字符串。这62个字符通常...
base62.js, node.js的javascript Base62编码/解码器 Base62.js JavaScript Base62编码/解码器什么是Base62编码?Base62编码将数字转换为ASCII字符串( 0 -9,一个z 和一个z ),反之亦然,这通常会导致比较短的字符串...
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是一种编码方式,它将数字和字母组合起来,形成一种更易读的编码形式。这个"base62:可逆的base62 ID混淆器"软件包,显然是一个用PHP语言开发的工具,特别适用于Laravel框架,用于生成和解码Base62编码的ID。在...
Base62编码是一种将数字数据转换为可读性较强、长度较短的字符串的方法,它在Web开发中常用于URL短链接、数据库ID的显示以及数据的存储和传输。在这个场景中,`base62.cr`是一个用Crystal编程语言实现的Base62编码和...
**Base62编码详解** Base62编码是一种基于62个字符的数字和字母组合的编码方式,它常用于将整数转换为可读性较强的字符串形式,特别适用于URL短链、唯一标识符生成等领域。这种编码系统由0到9的十进制数字、大写...
通过创建Base62对象,并调用`base62_encode`方法将数值1转换为Base62字符串,然后立即使用`base62_decode`方法将得到的字符串还原为原数值,验证编码和解码过程的正确性。 在理解类源码和用法时,需要掌握以下知识...
Base62编码是一种字符集编码方式,它使用62个字符来表示数字,通常用于将数字转换为可读性更强的字符串,特别是在URL缩短服务中非常常见。在Go语言中,如果你想要创建一个Base62编码库,那么`base62.go`文件可能是...
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 Base62monkeypatches Integer 增加一个Integer#base62_encode 实例方法,对0-9 + AZ + az 字符集中的整数进行编码。 它还monkeypatches String 添加 String#base62_decode 以获取字符串并将其转换回有效整数...
PB Base64 加解密动态库是一个专门为PowerBuilder(PB)开发的库文件,它提供了对Base64编码和解码的支持。Base64是一种用于将二进制数据转换为可打印ASCII字符的编码方式,常用于在电子邮件、HTTP和其他需要以纯...
将字符串编码和解码为base62(及其他) 概述 最流行的和其他仅支持将number转换为base62。 当试图以高于52位的精度(例如,UUID)转换较大的数字时,这将成为一个问题。 因此, b62允许将字符串(不仅是字符串)...
Base64是网络上最常见的用于传输8Bit...为统一和规范化Base64的输出,Base62x被视为无符号化的改进版本。 此资源是依赖包base64.js分享给大家,希望能给大家带来帮助,如有其他依赖包需求请留言,我会尽量分享给大家。