我使用一个设备驱动程序来捕获来自阅读器 (RFID) 的输入并将其发送到键盘缓冲区(键盘楔)。捕获的数据可以(而且必须)使用 java 脚本进行中间转换。
此 javascript 在驱动程序上下文中处理 - 不幸的是,javascript 在字符串类型的 DATA 变量中获取捕获的“二进制”数据。
您可以想象 javascript 的作用:它将输入解释为 unicode,因此不允许您在字符串中逐字节寻址 - 它根据值在 1 ...4 字节长度之间任意变化。
我只需要将二进制字符串转换为其可读的字符串格式:xf9268970 应显示为“f9268970”。到目前为止,无论我尝试什么都糟透了。
感谢任何提示!
最佳答案
首先,免责声明。我没有使用过二进制数据和 javascript,但也许这会有所帮助。
也许您可以遍历字符串并使用 charAt 来查看每个字符。据我了解,charAt 返回一个 ASCII 值(不是 unicode)。所以你会得到 2 个字节而不是 4 个字节(?)
var character;
for (var i = 0; i < str.length; i++) {
character = str.charAt(i);
}
也许这个引用会为您指明正确的方向:charAt reference
关于javascript - 如何在javascript中访问字符串中的二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10451526/