• nodejs 解析终端特殊字符


    背景

    有时候需要程序解析终端特殊字符,如记录审计日志等。
    如果直接将特殊字符记录,可能会出现各种乱码问题。

    实现

    使用terminal.js实现。
    (使用各种nodejs api发现实现不了,如果可以,请告诉我~)
    下面示例展示了与终端socket实时交互,用户输入的完整指令(由socket服务端返回的字符串拼接起来),
    比如用户按下退格、使用Tab自动补充等,这些都是有特定的符号来传输。
    而我们可能需要的只是最后他回车后的最终结果,如:
    用户在终端想要输入最终指令:cat package.json,但中途按了几次退格还有使用tab自动补充,故用户的输入完整内容就是str的内容,但我们只要最终的指令:

    即最终我们记录JSON.stringify(line)就完事了,不会乱码。

    提醒

    开发中使用控制台输出(如console.log),一般控制台打印出来的是被自动解析终端特殊字符。
    强烈建议如果要打印这类字符变量,加上JSON.stringify();

  • 相关阅读:
    mangoDB
    python文档
    单例模式
    celery
    flask 部署
    json
    Docker+Jenkins+Go完成自动化部署
    Go多协程循环打印ABAC
    正则表达式
    从零开始学Go之并发(四):互斥
  • 原文地址:https://www.cnblogs.com/wzs5800/p/13690379.html
Copyright © 2020-2023  润新知