如何在Int16Array的开头加上两个字符
How to prepend two chars at the beginning of an Int16Array?
由于应用程序特定的原因,我需要在现有Int16Array 的开头加上这两个字符"a,"(a和一个逗号)
目前我尝试使用此代码,但它似乎无法正常工作:
function convertFloat32ToInt16(buffer) {
var prefix = 'a,',
prefixLength = prefix.length / 2, // divided by 2 because we deal with 16 bits, not 8 bits
bufferLength = buffer.length,
totalLength = prefixLength + bufferLength,
arr = new Int16Array(totalLength),
i
for (i = 0; i < prefixLength; i = i + 2) {
arr[i] = prefix.charCodeAt(i) + prefix.charCodeAt(i + 1)
}
for (i = prefixLength; i < totalLength; i++) {
arr[i] = Math.min(1, buffer[i - prefixLength]) * 0x7FFF // convert to 16 bit
}
return arr.buffer
}
有什么建议我可以做得更好并修复上面的代码吗?
非常感谢!
如果需要在Int16Array
中存储随机字符,为什么要使用它?你这样做是在问问题。
为什么不使用正则数组呢?将arr
的定义替换为arr = []
,将对buffer
的引用替换为arr
在任何情况下,如果要存储随机字符,都需要使用不同的数据结构。你总是可以让你的回程线路像这样:
return {buffer: arr.buffer, type: prefix}
相关文章:
- 如何检查两个字符串是否具有相同的字符,包括特殊字符
- 如果两个跨度有数据,则添加字符
- 如何在jQuery中搜索两个字符之间的字符串
- 使用 JavaScript 中的正则表达式替换大文本中两个字符之间的每个出现的字符串
- Javascript 密码不应包含用户的帐户名或用户全名中超过两个连续字符的部分
- 电子邮件验证不接受仅包含两个字符的域
- 如何完成此循环?连接前面的两个字符
- 如何使用jQuery获取url的最后两个字符
- Javascript-使用Regex获取两个字符之间的字符
- Regex表达式,用于替换两个字符(包括字符)之间的字符串
- 通过JQuery在网页上的两个字符之间放置空格
- 如果两个波浪号字符之间的字符计数大于60,则在两个波浪字字符之间添加波浪号
- javascript:如何使用regex删除两个特殊字符之间的逗号(,)
- 如何匹配两个字符内的重复模式
- 在javascript中组合使用连字符连接的两个字符串
- Regex/Javascript;否定地选择两个字符的重复
- 匹配单词中两个相等的字符,并替换为一个RE
- 正则表达式不匹配序列中的两个相同字符
- 如何提取两个字符之间的字符串
- 如何在 javascript 中替换两个声明字符之间的字符串