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