在JavaScript中检测不可打印的字符

时间:2009-11-05 00:38:08

标签: javascript binary ascii hex non-printable

是否可以在JavaScript中检测二进制数据?

我希望能够检测二进制数据并将其转换为十六进制,以便于阅读/调试。


经过更多调查后,我意识到检测二进制数据不是正确的问题,因为二进制数据可以包含常规字符和不可打印的字符。

Outis的问题和答案(/ [\ x00- \ x1F] /)是我们在尝试检测二进制字符时所能做的最好的事情。

注意:您必须从ascii字符串序列中删除换行符和可能的其他字符,以便检查实际工作。

1 个答案:

答案 0 :(得分:21)

如果用“二进制”表示“包含不可打印的字符”,请尝试:

/[\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)