7

查看片假名字符(http://en.wikipedia.org/wiki/Katakana#Unicode)如何从 Unicode 范围中获取随机字符?

我很亲近

String.fromCharCode(0x30A0 + Math.random() * 60);

“60”是对该范围的粗略猜测。有没有办法在 "U+30A0 ... U+30FF" 中编码?

谢谢。

4

2 回答 2

10

你可以这样做 :

String.fromCharCode(0x30A0 + Math.random() * (0x30FF-0x30A0+1));

请注意,0x30FF-0x30A0如果95您想要最后一个,则必须添加1Math.random在 中返回结果[0,1[),这使得96,而不是60

于 2013-10-18T11:35:51.830 回答
2

你可以这样做:

String.fromCharCode(Math.floor(Math.random() * 65535));

因为最大十六进制是 65536。

最大十六进制数:16 ^ 4

于 2020-12-15T11:42:11.663 回答