【问题标题】:how to use alternate vt100 character sets如何使用备用 vt100 字符集
【发布时间】:2015-04-22 17:36:17
【问题描述】:

根据http://www.in-ulm.de/~mascheck/various/alternate_charset/ Esc+)+0 将使其使用G0集序列表或其他东西。 http://www.vt100.net/docs/vt100-ug/table3-9.html 似乎提供了在使用此“表”时应出现的字符的描述。例如。

<?php
echo "\x1B)0" . chr(0147) 

...据我了解,应该会导致控制台上出现 ± 。但没有出现±。相反,出现的是g

所以我并不完全清楚如何在 CLI 环境中使用它来使 ± 出现。

有什么想法吗?

【问题讨论】:

  • 它可能不适用于 Linux,因为那部分很久以前就坏了。

标签: bash shell terminal ansi-escape vt100


【解决方案1】:

尝试使用( 而不是)

<?php
echo "\x1B(0" . chr(0147)
?>

( 设置要在默认“g0”槽中使用的字符集,而) 影响“g1”槽。移入/移出转义序列在两个插槽之间切换。

同时,我建议您忘记这些遗留问题并使用正确的无状态 UTF-8 及其 ± 符号。

【讨论】:

  • 大声笑你提交了一个编辑,我提交了一个答案,几乎在同一时间说几乎完全相同的事情。 UTF-8 比切换字符集好得多,新应用程序绝对应该使用它。我认为大多数转义序列应该是未使用的,只有在编写需要支持某些遗留应用程序的终端仿真器时才会担心它们。
  • 只是想我会添加它来撤消它,"\x1B(B" 似乎就足够了。谢谢!
  • 确实,使用 Unicode/UTF-8 的最大点之一是无状态,在这种情况下,在正常字符集和备用字符集之间来回切换已过时。不过,模拟器必须保持此功能向后兼容。 PuTTY 勇敢地拒绝了这些 UTF-8 模式,这在技术上可能要好得多,但让许多用户感到头疼。另见cl.cam.ac.uk/~mgk25/unicode.html#term
猜你喜欢
  • 2014-10-01
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-26
  • 2021-08-28
相关资源
最近更新 更多