node.js - 在 Node.js 中,无法读取未定义的属性 'length'

标签 node.js

我必须使用 node.js 制作 Cryptogram 请帮忙 ..!!! (你能制作密码 key 吗??) 我努力了。 。 感谢您的帮助:)

function encrypt(data,j) {
    for(var i = 0, length = data.length; i<length; i++) {
         j = data.charCodeAt(i);
        //console.log(j);
        String.fromCharCode(j);
        process.stdout.write(j);
    }
    return data;
}

function decrypt(data) {
    return data;
}

process.stdin.resume();
process.stdin.setEncoding('utf-8');

process.stdout.write('Input (암호화할 문장을 입력) : ' );

process.stdin.on('data',function(data,j) {
    //data = data.trim();
    process.stdout.write('평문(your input) :' + data);
    process.stdout.write('암호문(encrypt) :');
    encrypt(j);
    process.stdout.write('복호문(decrypt) :');

    process.exit();
    });

最佳答案

process.stdin 是一个可读流。该回调接受单个参数 ( see doc example )。为了安全起见,我只会在 stdin 结束事件上调用 encrypt() 。通过连接数据来调用它。

process.stdin.on('data',function(data) {
    process.stdout.write('평문(your input) :' + data);
    process.stdout.write('암호문(encrypt) :');
    encrypt(data);
    process.stdout.write('복호문(decrypt) :');
    process.exit();
});

如果是我,我会从 stdin 收集所有数据作为字符串(可以是字符串或缓冲区),并在流的 end 事件上处理它:

var input = '';
process.stdin.on('data',function(data) {
    process.stdout.write('평문(your input) :' + data);
    input+=data;
});

process.stdin.on('end', function(){
    process.stdout.write('암호문(encrypt) :');
    encrypt(input);
    process.stdout.write('복호문(decrypt) :');
    process.exit();
});

关于node.js - 在 Node.js 中,无法读取未定义的属性 'length',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16631209/

相关文章:

javascript - 使用身份验证使我的 Mongo 连接字符串正确用于远程数据库托管

node.js - Sequelize 不在 postgresql 中创建任何表

javascript - 安装插件时如何消除 VS Code 中的错误 "self signed certificate in certificate chain"?

node.js - 执行 Mongo 使用 Mongo shell 在文本文件中插入命令

javascript - Yeoman Web 应用程序生成器 LiveReload 片段不工作

node.js - OpenShift 从另一个 Pod 访问 Mongodb Pod

javascript - 等待 Promise 在 emitter.on 监听器函数中解析

javascript - 如何从参数中获取参数值?

node.js - Electron - 如何生成文件校验和

node.js - 使用 GraphQL 设置订阅时出现问题