gpt4 book ai didi

c# 将 int 缩短为区分大小写的代码

转载 作者:太空狗 更新时间:2023-10-29 23:56:06 25 4
gpt4 key购买 nike

字母表中有 26 个字符 (abc..yz) 和 10 个数字 (0..9)。如果我们区分大小写,这给了我们一个 62 个字符的词典。

目前我们正在根据数据库中的 ID 构建文件名的一部分。这些数字可能会很长,所以我们想缩短它们。例如,而不是:

file_459123.exe

我们宁愿:

file_aB5.exe

有没有人有 C# 中的方法可以将 int 转换为更短的区分大小写的字符串,并将区分大小写的字符串转换回 int?

示例(不必是这种模式):

1 = 1
2 = 2
...
9 = 9
10 = a
11 = b
...
36 = z
37 = A

最佳答案

尽管有 Base64 引用,这里有一个通用的(未优化的)解决方案:

// for decimal to hexadecimal conversion use this:
//var digits = "0123456789abcdef".ToCharArray();

var digits = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
.ToCharArray();

int number = 459123;
string output = "";

do
{
var digit = digits[(int)(number%digits.Length)];
output = output.Insert(0, digit.ToString());
number = (int)number/digits.Length;
}
while (number > 0);

// output is now "1Vrd"

关于c# 将 int 缩短为区分大小写的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8885582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com