`
Blackbaby
  • 浏览: 184966 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Base62

    博客分类:
  • java
 
阅读更多

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,编解码 示例 和 类库

    Base62编码是一种数据编码方式,它类似于更常见的Base64编码,但进行了微调以适应网络环境,尤其是URL友好的场景。Base62的基本原理是将数字或二进制数据转换为一个由62个可打印字符组成的字符串。这62个字符通常...

    base62.js, node.js的javascript Base62编码/解码器.zip

    base62.js, node.js的javascript Base62编码/解码器 Base62.js JavaScript Base62编码/解码器什么是Base62编码?Base62编码将数字转换为ASCII字符串( 0 -9,一个z 和一个z ),反之亦然,这通常会导致比较短的字符串...

    tiny-php, 可逆 base62 ID obfuscater.zip

    tiny-php, 可逆 base62 ID obfuscater 可逆 base62 ID obfuscater作者最初由 Jacob DeHart提供的ruby 和 python 端口由 Kyle Bragger现在由 Zack Kitzmiller 维护。安装通过编辑器安装{

    base62.js:base62编码的代码库

    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编码器和解码器,用于任意数据

    Base62 该库实现base62编码。 除整数外,它还可以编码和解码任意数据。 例如,当生成url安全时,这很有用。 安装 用安装。 $ composer require tuupola/base62 该分支需要PHP 7.1或更高版本。 较早的1.x分支还...

    Base62 Encode/Decode Utility:用于对base62进行编码/解码的工具-开源

    chewingum软件包包含两个主要程序:-base62-chew它们已在perl中实现。 Base62也已经用c ++编码。 嚼被写成缩短长的十进制整数到base62字符串。 这不是单纯的基本转换,因为它在逻辑内部不使用算术运算。 这样,它...

    base62:一个小型Java库,用于在base-62中对数字和UUID进行编码

    Base62库 这是一个小型Java库,用于以base-62格式编码和解码数据。 它主要用于以紧凑且在URL中运行良好的方式对UUID进行编码。 与base-64相比,它不需要任何非字母数字字符。 基本-62系统的62位由10个字符为十进制...

    base62-encode:Nim中的Base-62编码器解码器

    它的默认字母为0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ (和base62编码)。 解码器对有效性进行简单检查(输入字母中的字符不在字符集中),并为无效字符串返回-1 。 主要用例(正在被...

    base62:可逆的base62 ID混淆器

    Base62是一种编码方式,它将数字和字母组合起来,形成一种更易读的编码形式。这个"base62:可逆的base62 ID混淆器"软件包,显然是一个用PHP语言开发的工具,特别适用于Laravel框架,用于生成和解码Base62编码的ID。在...

    base62:base62 编码

    **Base62编码详解** Base62编码是一种基于62个字符的数字和字母组合的编码方式,它常用于将整数转换为可读性较强的字符串形式,特别适用于URL短链、唯一标识符生成等领域。这种编码系统由0到9的十进制数字、大写...

    base62.cr:Crystal的Base62编码器解码器

    Base62编码是一种将数字数据转换为可读性较强、长度较短的字符串的方法,它在Web开发中常用于URL短链接、数据库ID的显示以及数据的存储和传输。在这个场景中,`base62.cr`是一个用Crystal编程语言实现的Base62编码和...

    php中的Base62类(适用于数值转字符串)

    通过创建Base62对象,并调用`base62_encode`方法将数值1转换为Base62字符串,然后立即使用`base62_decode`方法将得到的字符串还原为原数值,验证编码和解码过程的正确性。 在理解类源码和用法时,需要掌握以下知识...

    base62.go:[未维护] 尝试提供 Base62 编码的 go 库,非常适合 URL 缩短器

    Base62编码是一种字符集编码方式,它使用62个字符来表示数字,通常用于将数字转换为可读性更强的字符串,特别是在URL缩短服务中非常常见。在Go语言中,如果你想要创建一个Base62编码库,那么`base62.go`文件可能是...

    base62-random:这是一个TypeScript库,用于生成随机的base62字符串

    base62随机概述这是一个TypeScript库,用于生成随机的base62字符串。 它使用内置的Node.js加密库生成随机字符。安装npm install --save @walter.scarborough/base62-random用法使用所需的随机base62输出长度来调用...

    shortuuid.rb:将UUID和数字转换为节省空间且URL安全的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 以获取字符串并将其转换回有效整数

    Base62 Base62monkeypatches Integer 增加一个Integer#base62_encode 实例方法,对0-9 + AZ + az 字符集中的整数进行编码。 它还monkeypatches String 添加 String#base62_decode 以获取字符串并将其转换回有效整数...

    pb base64加解密动态库

    PB Base64 加解密动态库是一个专门为PowerBuilder(PB)开发的库文件,它提供了对Base64编码和解码的支持。Base64是一种用于将二进制数据转换为可打印ASCII字符的编码方式,常用于在电子邮件、HTTP和其他需要以纯...

    b62:将字符串编码和解码为base62

    将字符串编码和解码为base62(及其他) 概述 最流行的和其他仅支持将number转换为base62。 当试图以高于52位的精度(例如,UUID)转换较大的数字时,这将成为一个问题。 因此, b62允许将字符串(不仅是字符串)...

    base64.min.js 1.2.0版本

    Base64是网络上最常见的用于传输8Bit...为统一和规范化Base64的输出,Base62x被视为无符号化的改进版本。 此资源是依赖包base64.js分享给大家,希望能给大家带来帮助,如有其他依赖包需求请留言,我会尽量分享给大家。

Global site tag (gtag.js) - Google Analytics