问题标签 [base36]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
561 浏览

go - 如何在 Go 中将 Float64 转换为 Base36?

我已经说过 value 0.36388617850285954,当我使用 Javascript.toString(36)函数时,我得到了"0.d3lh1pogpwk".我想在 golang 中复制它的输出,但是我没有真正的起点。

我将如何执行此操作?

0 投票
1 回答
280 浏览

c# - 为什么这个 Base36 随机字符串不使用 RandomNumberGenerator 随机分布字符

我正在尝试使用生成随机 Base36 字符串C#。我正在使用RandomNumberGenerator而不是Random因为代码需要是线程安全的。我有以下代码设置:

这似乎可行,但是从结果来看,很明显字符串没有均匀地分布潜在的字符。有很多重复的字母和数字很少出现。

问题只是取随机字符串的第一个字符还是字符串的构建方式有问题?

0 投票
1 回答
75 浏览

c# - 将 SQL 查询转换为 C#(SQL 查询将 base36 代码转换为 DateTime)

我希望能够在 7 位 \base36 配置中对包含日期时间的 \decode id 进行编码,但是尽管有一个 SQL 查询来解码 Id,但到目前为止还没有运气。

我有一个能够将代码转换为日期时间的 SQL 查询。

使用以下 id,我希望得到相应的日期时间。

询问:

当我在 SQL 中使用以下 ID 时,我得到以下日期。

不幸的是,我的 C#“转换”非常不准确。

关于我哪里出错的任何建议?

0 投票
2 回答
586 浏览

c# - 将日期时间转换为 base36

我正在使用旧数据库,需要开始使用 c# 生成 id。我需要生成与旧 ID 对应的 ID。

我想将 DateTime 转换为 7 digit \ base36 配置。我认为一旦我将代码从base36代码转换为DateTime(再次感谢Joshua),逆向工程就很容易了,但是我仍然遇到困难。

我花了一天的时间试图弄清楚如何从 DateTime 转换为 base36。

下面是从 base36 代码转换为 DateTime 的代码。这段代码似乎工作正常。id 被添加到 sRecid,然后转换为 DateTime。

这是我遇到问题的代码。

代码开始时很好,我可以得到第一个字符(c0),但我在处理下一个字符(c1 以后)时遇到了问题。

在我的示例中,我传递了日期 2004-02-02 09:34:47 并打算返回 A7LXZMM。我哪里错了?

谢谢。

0 投票
2 回答
177 浏览

c# - 仅增加字符串字母和数字c#

这里问了一个类似的问题: 用字母和数字增加一个字符串,除了它只增加字符串中的数字,我想增加数字;+-*:=字母,并且只增加字母和数字,而不是像字符这样的其他任何东西。

例子:

编辑:我尝试过的:

0 投票
1 回答
367 浏览

javascript - 如何在 Python 中将浮点数转换为 base36?

我一直在将 javascript 代码迁移到 python 并且我一直在尝试获取 python 版本 Math.random().toString(36)

我不确定如何执行此操作,因为Math.random()返回一个浮点数,在 python 中我无法弄清楚如何将浮点数转换为 base36。据我了解,它只是int但是javascript是如何做到的呢?

为了在 python 中获得随机浮点数,我只使用以下内容:

对于编码,我使用了 wiki 示例:

-编辑:原始js代码:

0 投票
1 回答
413 浏览

javascript - JavaScript:parseInt(string, 36) 将不同的字符串转换为相同的数字

我对字符串转换有疑问:

像这样使用parseInt(string[,radix])时:

它输出:80920602611116n. 使用不同的输入,如下所示:

它输出:80920602611120n,这当然是另外一回事。

但是,如果它是一个较长的字符串,则输出编号有时是相同的:

这将为1867697451648055638757226289961051507749359223570432n两者输出,尽管它们是不同的。

我知道,整数的安全表示是有限制的,这就是我使用 BigInt 的原因,它没有限制。

我必须能够区分这种大小的字符串,同时使用 BigInt 来表示这些字符串。

0 投票
2 回答
524 浏览

javascript - Why JavaScript base-36 conversion appears to be ambiguous

I am currently writing a piece of JavaScript that uses base 36 encoding.

I came across this problem:

Appears to return "welcomebacg".

I tested this in the Chrome developer's console and Node.js with the same result.

Is there any logical explanation for this result?

0 投票
0 回答
165 浏览

java - 如何将 ByteArray 编码为 base36 字符串

要将 ByteArray 编码为 Base64,我可以简单地使用 java.util 中的 Base64。但现在我需要更改我的代码来创建 base36。不幸的是 java.util 没有这个功能。我需要的是一个函数/方法,它接受一个ByteArray输出一个包含它的base36表示的字符串。没有其他更改,例如切断前导零。

所以这个其他问题看起来很相似,但我们有两个问题。首先,问题被编辑了,所以我不明白答案。其次,答案使用 BigInteger,我担心将 ByteArray 转换为 BigInteger 可能会导致信息丢失(如前导零)。 关于 stackoverflow 的类似问题

0 投票
1 回答
167 浏览

c - 好奇base36编码

我想base36编码128bit的十六进制数,但是128bit超出了c语言支持的最大数的范围。所以,我无法通过求余数和商来获得 36 个数字的值。

我很好奇base36中处理这么长字符串的内部算法。想知道在c语言的数字范围内不能表达的数字怎么表达。你能告诉我base36的算法吗?或者,我想要一本书或网站供参考。