Chinaunix首页 | 论坛 | 博客
  • 博客访问: 81329
  • 博文数量: 25
  • 博客积分: 2105
  • 博客等级: 大尉
  • 技术积分: 195
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-24 11:08
文章分类

全部博文(25)

文章存档

2013年(1)

2011年(3)

2010年(8)

2009年(13)

我的朋友
最近访客

分类:

2010-01-06 16:39:11

如果在vt100终端中cat一个二进制文件,那么很有可能会使终端面目全非,字符全乱了,
究其原因,是因为 vt100 终端有两个字符转换表 G0(默认)和 G1,各自对应五个字符集,
G0 默认对应字符集 ASCII set,G1 默认对应字符集 Special Graphics,
我们通常出现乱码的情况是跑到 Special Graphics 字符集中去了,

G0 的开关是 ctrl-O, G1 的开关是 ctrl-N
G0 的 ASCII set 的开关是 ESC(B, Special Graphics 的开关是 ESC(0
G1 的 ASCII set 的开关是 ESC)B, Special Graphics 的开关是 ESC)0

因为默认是G0, 所以我们有可能输出了 ctrl-N,或者 ESC(0, 导致指向的字符集是 Special Graphics

用 reset 命令可以解决此问题。

麻烦一点的方法也有:
如果是因为碰到 ctrl-N, 可以这样:
cat
^O
^D

如果是因为碰到 ESC(0, 可以这样:
cat
^[(B
^D

注意以上的^O或^D是按住ctrl同时按O或D,而不是让你输入 ^O 这两个字符, 同理 ^[ 是按Esc,而不是输入 ^[ 这两个字符
阅读(1277) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~