小编use*_*552的帖子

Javascript:使用crypto.getRandomValues在一个范围内生成一个随机数

我知道你可以使用这个函数在一个范围内的JavaScript中生成一个随机数:

function getRandomInt (min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
Run Code Online (Sandbox Code Playgroud)

感谢IonuţG.Stan 在这里.

我想知道的是你是否可以使用crypto.getRandomValues()而不是Math.random()在一个范围内生成一个更好的随机数.我希望能够生成0到10之间的数字,或0到1,甚至10 - 5000(含).

你会注意到Math.random()产生一个如下数字:0.8565239671015732.

getRandomValues API可能会返回以下内容:

  • 231Uint8Array(1)
  • 54328Uint16Array(1)
  • 355282741Uint32Array(1).

那么如何将其转换回十进制数,以便我可以使用上面相同的范围算法?或者我需要一个新的算法?

这是我尝试的代码,但它不能很好地工作.

function getRandomInt(min, max) {       
    // Create byte array and fill with 1 random number
    var byteArray = new Uint8Array(1);
    window.crypto.getRandomValues(byteArray);

    // Convert to decimal
    var randomNum = '0.' + byteArray[0].toString();

    // Get number in range …
Run Code Online (Sandbox Code Playgroud)

javascript random cryptography range

12
推荐指数
5
解决办法
1万
查看次数

JavaScript:需要函数将包含二进制的字符串转换为十六进制,然后转换回二进制

假设我在JavaScript中有一个包含二进制数据的字符串.它可能看起来像这样:

var binary = '00001000010001000101010100001110';
Run Code Online (Sandbox Code Playgroud)

我需要一些可靠的函数将它转换为十六进制字符串,然后再从该十六进制转换回二进制字符串.我知道以下功能

// Convert binary to hexadecimal
var hex = parseInt(binaryCharacters, 2).toString(16);

// Convert hexadecimal to binary
var binary = parseInt(hex, 16).toString(2)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何一次转换整个字符串.我是否理解我需要将每个4位二进制位一次转换为单个十六进制字符?然后回到二进制I循环每个十六进制字符并再次转换为二进制?

我已经找到了一些在JavaScript中执行此操作的简单示例但无法找到任何示例.

非常感谢

javascript binary hex converter

5
推荐指数
2
解决办法
2万
查看次数

从二进制1和0创建位图/画布图像以在JavaScript中直观地查看数据的算法?

假设我在标准JavaScript字符串中有20,164个二进制数字,例如:

var data = '101010101010101010101010100110001011010101101' ...
Run Code Online (Sandbox Code Playgroud)

我想要做的是通过将这些数字转换为位图或HTML5画布图像来查看这些数字的可视化表示.因此,如果我遍历所有位并且它遇到1则会绘制一个黑色像素,而0则该像素将为白色.

所以我猜我需要一个142 x 142像素的网格,看起来像这样:

二进制数据位图

在JavaScript中执行此操作的算法或方法是什么?我需要做的就是在网页上显示它,所以可能创建一个基本的位图或画布或SVG图像就可以了.

非常感谢

javascript jquery svg canvas bitmap

3
推荐指数
2
解决办法
1807
查看次数

标签 统计

javascript ×3

binary ×1

bitmap ×1

canvas ×1

converter ×1

cryptography ×1

hex ×1

jquery ×1

random ×1

range ×1

svg ×1