javascript - 检测 JavaScript 中的不可打印字符

标签 javascript binary ascii hex non-printable

是否可以检测 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/

相关文章:

javascript - 在 Javascript 的脚本标签中使用字符集

javascript - JavaScript 原生的排序功能是如何实现的?

c - 保存和读取二进制列表?

java - 包含汉字的字符串转ASCII

javascript - 为什么 jQuery 代码用第一个图像替换最后一个图像?

javascript - 停止 javascript div 旋转

python - 使用 Python : concise non-pycurl examples? 的 HTTP POST 二进制文件

python - Postgres mogrify 将二进制添加到 SQL 字符串

Python - 将字符串和转义的十六进制字符串数据转换为整数的更好方法?

Python 二进制字符串转 ASCII 文本