我在jQuery之后收到一些数据 $.get
我希望能够看到所有不可见的字符,如空格,制表符,行尾或新行。是否可以在chrome控制台中看到这个?怎么样?
我在jQuery之后收到一些数据 $.get
我希望能够看到所有不可见的字符,如空格,制表符,行尾或新行。是否可以在chrome控制台中看到这个?怎么样?
一种方法是手动替换所有可能的空白字符:
var html = '\n\t';
console.log(html); // displays whitespace
console.log(html.replace(/\n/g,'\\n').replace(/\t/,'\\t')); // displays '\n\t'
我知道,这很乏味。
你也可以使用 JSON.stringify
const data = 'name\tvalue\n'
console.log(JSON.stringify(data))
// "name\tvalue\n"
在处理像软连字符这样的事情时,其他任何一个答案都不适合我(\00ad
):
console.log('<p>\u00ad</p>')
// <p></p>
它在那里,但你看不到它。
所以这里有一个片段,它将除了可打印的ASCII字符之外的所有字符都转换为它们的unicode转义序列:
'<p>\u00ad</p>'.replace(
/[^\u0020-\u007f]/g,
x => '\\u' + ('0000' + x.charCodeAt(0).toString(16)).slice(-4)
)
// "<p>\u00ad</p>"
注意:这不会逃避引号或反斜杠,所以不要将它用于例如生成JSON。只是为了调试。如果你需要,例如输出ASCII-only JSON,试试吧 jsesc库。