如何在chrome控制台中查看tab eol空格?

时间:2014-03-01 01:36:27

标签: javascript jquery debugging

我在jQuery $.get之后收到一些数据,我希望能够看到所有不可见的字符,如空格,制表符,行尾或新行。是否有可能在Chrome控制台中看到这个?怎么样?

4 个答案:

答案 0 :(得分:8)

一种方法是手动替换所有可能的空白字符:

var html = '\n\t';
console.log(html); // displays whitespace
console.log(html.replace(/\n/g,'\\n').replace(/\t/,'\\t')); // displays '\n\t'

我知道这很乏味。

答案 1 :(得分:2)

您也可以使用JSON.stringify

const data = 'name\tvalue\n'

console.log(JSON.stringify(data))

// "name\tvalue\n"

答案 2 :(得分:0)

在处理软连字符(\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的JSON,试试jsesc library

答案 3 :(得分:0)

尝试encodeURI

var html = '\n\t';
console.log(html); // displays whitespace
encodeURI(html); //displays "%0A%09"