好吧,最近我已经碰到了几次
如果你在终端中运行echo 'G1o=' | base64 -d
,你就会得到
username@hostname:~$62;9;c
我认为它与语言环境有关,但它是否是'正常'行为,它在命令输出之后“放置”?
答案 0 :(得分:1)
base64 G1o=
解码为十六进制1B 5a
,即 ESC Z 。这就是DECID
转义序列,它在终端实际上不是计算机的一部分而是通过串行电缆连接的设备的时代,是计算机可以向终端询问它究竟是什么的方式。 (这实际上不是标准;它是由DEC制造的终端实现的私人代码;因此DEC IDentification.DEC代表Digital Equipment Corporation,值得注意的是制造可能是第一台台式计算机,PDP-8,我拥有的机器在我十几岁的时候学习编码的乐趣。)
奇怪的是,终端模拟器仍然支持这些东西,所以如果你把ESC-Z写入终端程序,它会通过告诉你它模糊地假装是什么样的历史终端来做出回应。例如,如果您要在Linux控制台中执行此操作,它将响应:ESC [ ? 6 c
这是DEC VT-102的代码。
(顺便说一句,您的终端模拟器显然正在响应ESC [ ? 62;9 c
,这是具有各种扩展“国家替换字符”集的VT-220的代码 - 这是;9
部分。 )
答案 1 :(得分:0)
取决于您认为“正常”的内容。所有程序都设置为0和1按特殊顺序排列。显然,base64
中的'G'和'1'分别是'enter'和'end of line'。要确认这一点,只需将序列更改为其他任何序列。