是否可以检测 JavaScript 中的二进制数据?
我希望能够检测二进制数据并将其转换为十六进制以便于阅读/调试。
经过更多调查,我意识到检测二进制数据不是正确的问题,因为二进制数据可以包含常规字符和不可打印字符。
Outis 的问题和答案 (/[\x00-\x1F]/) 确实是我们在尝试检测二进制字符时所能做的最好的。
注意:您必须从 ascii 字符串序列中删除换行符和可能的其他字符,才能使检查真正起作用。
最佳答案
如果“二进制”是指“包含不可打印的字符”,请尝试:
/[\x00-\x1F]/.test(data)
如果空格被认为是非二进制数据,尝试:
/[\x00-\x08\x0E-\x1F]/.test(data)
如果您知道字符串是 ASCII 或二进制,请使用:
/[\x00-\x1F\x80-\xFF]/.test(data)
或:
/[\x00-\x08\x0E-\x1F\x80-\xFF]/.test(data)
关于javascript - 检测 JavaScript 中的不可打印字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1677644/