[英]How to generate a string or array with every non letter or number character?
[英]For every letter in a string, print its ascii character representation
我正在从套接字中读取内容,并尝试调试一些传入的消息。现在,我正在尝试查看是否有任何“不可见的”字母潜入我的正则表达式中。 我执行以下操作以获取文字字符串值。
socket.on('data', function (data) {
const message = data.toString('ascii');
let characters = [];
message.forEach((letter, i) => characters.push(message.charCodeAt(i)));
console.log(characters);
});
结果看起来像这样:
[58, 13, 10, 26]
我想让人们更容易理解,而无需(手动)查找ascii表上的每个字母。 也就是说,列表看起来更像这样:
[':', '\r', '\n', 'ctrl-z']
// or
[':', 'carriage return', 'new line', 'substitution']
有什么方法可以通过Node.js做到这一点吗?
在节点5.1中,您可以将字符串拆分为一个字符数组,然后console.log该数组。 内置的console.log将为非打印字符打印转义码:
socket.on('data', function(data){
const message = data.toString('ascii');
console.log(message.split(''))
})
如果使用的是较低版本的node,则可以使用node中的util包来获取字符的字符串文字表示形式。
这样的事情应该起作用:
socket.on('data', function(data){
const message = data.toString('ascii');
console.log(message.split('').map(function(c){
return require('util').inspect(c);
}))
})
使用message.charAt(i)
代替charCodeAt
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.