看看片假名字符(http://en.wikipedia.org/wiki/Katakana#Unicode)如何从Unicode范围中获取随机字符?
我很接近
String.fromCharCode(0x30A0 + Math.random() * 60);
'60'是对范围的粗略猜测。有没有办法在“U + 30A0 ... U + 30FF”中编码?
感谢。
答案 0 :(得分:7)
你可以这样做:
String.fromCharCode(0x30A0 + Math.random() * (0x30FF-0x30A0+1));
请注意,0x30FF-0x30A0
为95
,如果您想要最后一个,则必须添加1
(Math.random
会在[0,1[
中返回结果),制作96
,而不是60
。
答案 1 :(得分:2)
您可以这样做:
String.fromCharCode(Math.floor(Math.random() * 65535));
因为最大十六进制为65536。
最大十六进制:16 ^ 4