javascript - 使用 JSON 文件中的 unicode 字符串作为函数参数
问题描述
我正在使用这个问题的答案来创建随机字符:
String.fromCharCode(0x30A0 + Math.random() * (0x30FF - 0x30A0 + 1));
我创建了一个具有相同原理的函数,因此我可以更改范围的第一个和最后一个字符:
function uni_char(first, last) {
var char = String.fromCharCode(first + Math.random() * (last - first + 1))
return char;
}
例如,如果我以0x0000和0x007F作为参数运行函数,它会按预期工作。我要做的是读取具有多个字符范围的 JSON 文件以将它们与函数一起使用。这是 JSON:
[
{
"first": "0x0000",
"last": "0x007F"
},
{
"first": "0x0080",
"last": "0x00FF"
}
]
我使用这个问题的答案用 JSON 文件数据填充了一个数组:
var blocks = [];
$.ajax({
async: false,
url: '/scripts/data/blocks.json',
data: "",
accepts:'application/json',
dataType: 'json',
success: function (data) {
for (var i = 0; i < data.length; i++) {
blocks.push(data[i]);
}
}
});
但是当我将数组中的值与函数一起使用时:
uni_char(blocks[0].first, blocks[0].last);
它只是创建了一个 � 符号。我错过了什么?也许是编码问题?还是逻辑问题?
解决方案
推荐阅读
- css - 为什么我的 flexbox 在 safari 中不显示?
- perl - Perl 在使用 -p 和 -f 选项调用的脚本中处理 ARGV
- python - 尝试安装 gTTS 时出错(pip install gTTS)
- php - 在具有复选框的下拉列表中选择多个项目
- angular - 找不到模块“lodash.isequal”
- oracle - 我想显示超过 70 个字符的字段值
- c# - 在 Visual Studio c# .net 中从本地计算机访问 Oracle VM 虚拟机的数据库
- visual-studio-code - VSCode - 如何关闭搜索结果侧边栏面板?
- javascript - 如何在 Reactjs 上调用可重用组件时更改属性的值?
- rabbitmq - 为什么发布时 RabbitMQ 超时(使用交换联合)?