常用ansi控制码

下面是搜到的常用ansi控制码。但是其中保存,恢复光标位置的控制码我一直没用成功。我先用/033[s 保存当前的光标位置,再用/033[x;yH来设定光标位置,最后恢复光标位置/033[u ,但是始终恢复不到原来那个位置。搞不懂。

 

BBS支持ANSI/3.64控制码标准,ANSI控制码均以Esc[作为控制码的开始标志。
BBS中ESC字符的输入方法是[ESC]+[ESC],在编辑器中用"*"代表。
*是按两下ESC键或者按ALT+027(数字键盘)两次,在Cterm里面也可以按Insert。
签名档有六行的行数限制(所谓六行,是输入字符占六行 而不是显示字符占六行),
BBS目前的每行字符限制在240左右,因而一个签名档总共可使用大约1320个字符。
做活动签名档就要掌握ANSI光标控制码,原理和动画制作一样。
DOS支持大部分ANSI控制码,在DOS下使用请看c:>help ansi.sys(无效命令?)
下面是BBS常用ANSI控制码表,注意控制符区分大小写。
DEVICE=ANSI.SYS

                     BBS  常  用  ANSI  控  制  码  表

  【光标控制】

┏━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃  控  制  码  ┃                说                    明                  ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃    [X;YH     ┃  将光标移至第 X 行,第 Y 列的位置。                      ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [nA      ┃  光标上移 n 列。< <若至屏幕顶端则无效> >                   ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [nB      ┃  光标下移 n 列。< <若至屏幕底端则无效> >                   ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [nC      ┃  光标向右 n 行。< <若已至屏幕最右端则无效> >               ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [nD      ┃  光标向左 n 行。< <若已至屏幕最左端则无效> >               ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [6n      ┃  报告光标位置。                                          ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [s       ┃  保存目前的光标位置。                                    ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [u       ┃  取出保存的光标位置来使用。                              ┃
┗━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  注: BBS 系统一屏显示大约是 25*80,后两行为 BBS 系统占用,实际只有 23*80。

  【屏幕控制】

┏━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃  控  制  码  ┃                说                    明                  ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [2J      ┃  清除屏幕。 < <功能和 dos 的 cls 命令一样> >               ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [K       ┃  将光标位置开始至本列结束的所有字符清除。                ┃
┗━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

  【显示字符属性控制】

┏━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃  控  制  码  ┃                说                    明                  ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃              ┃Ⅰ设定显示字符的属性状态。                                ┃
┃[n1;n2;......m┃Ⅱ若有两个以上的属性状态要设定则以分号将代码(n1;n2;..)隔开┃
┃              ┃Ⅲ除非重新设定,否则原设定之属性一直被保留。              ┃
┗━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

┏━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃   代   码    ┃                意                    义                  ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃      0       ┃  所有属性 OFF,即返回正常显示模式 (Normal)               ┃
┃      1       ┃  高亮度显示 (Bright)                                     ┃
┃      4       ┃  加下划线 (Underline) (注1)                              ┃
┃      5       ┃  闪烁显示 (Flash) (注2)                                  ┃
┃      7       ┃  反相显示 (Inverse)                                      ┃
┃      8       ┃  不可见 (Invisable)                                      ┃
┣━━━┳━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ 前景 ┃ 背景 ┃                颜                    色                  ┃
┣━━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃  30  ┃  40  ┃  黑色                                                    ┃
┃  31  ┃  41  ┃  红色                                                    ┃
┃  32  ┃  42  ┃  绿色                                                    ┃
┃  33  ┃  43  ┃  黄色                                                    ┃
┃  34  ┃  44  ┃  蓝色                                                    ┃
┃  35  ┃  45  ┃  紫红色                                                  ┃
┃  36  ┃  46  ┃  青蓝色                                                  ┃
┃  37  ┃  47  ┃  白色                                                    ┃
┗━━━┻━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  注1: 老版本的Sterm不支持下画线功能,现在的1.266+版本支持下划线,且下划线的颜
       色和前景色一致。例如,前景色是绿色的,则下划线也是绿色。而使用Cterm看到
       的下划线一律都为白色,不论前景色是什么颜色。
  注2: Sterm和Cterm显示效果略有不同。本来背景色是没有高亮的,但是Sterm 1.266版
       本却有显示高亮背景的本领,就是通过这个相反显示函数。例如高亮红色前景和
       低亮的黄色背景,如果你用Sterm 1.266版来看的话,加了反显函数之后那个例子
       变成了高亮的红色背景和低亮的黄色前景,就是前景色和背景色完全互换,连亮
       度也互换。但如果用Cterm来看得话,加了反显函数之后的例子是低亮的红色背景
       和高亮的黄色前景,颜色互换,亮度不换,因为Cterm无法显示出高亮的背景。

  【字体控制】

┏━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃  控  制  码  ┃                说                    明                  ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [0I      ┃  恢复正常字体                                            ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [1I      ┃  宋体                                                    ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [2I      ┃  黑体                                                    ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [3I      ┃  楷体                                                    ┃
┗━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

  【特殊控制】

┏━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃  控  制  码  ┃                说                    明                  ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [G       ┃  响铃                                                    ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [nU      ┃  URL确认(n个字节)                                        ┃
┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃     [nM      ┃  延时(n为微秒数) < > ┃
┗━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

                       特  殊  的  上  色  控  制  符

·:号
其实就是当你回文章时系统在文章前所加的:,它会使文章颜色变为暗青色,与*[0;36m
效果相同,这个冒号必须是英文输入法状态下的冒号,而且必须处在该行第一的位置,
冒号后可以有空格,该符号只对本行内容有效。

·【 在……………… 】格式
这种格式也要处在该行的起始位置,效果与*[1;33m的效果相同,【后要空上一个英文字
符的位置,那个“在”字不能少,而且必须是第一个字,后面的内容任意。该符号对从
此行开始的一屏内所有文字都有效。

·>号
效果和:号完全一样,也是要放在该行的起始位置,>号后面可以不空格,也可以加空格,
效果都一样。该符号仅对本行的内容有效。

·==>号
效果相当于*[1;33m,位置也要位于该行起始位置,==>后面不需空格,加空格也可以,
该符号对从此开始一屏内的内容均有效。

                               色  彩  常  识

·三原色: 红黄蓝
   红+黄=橙  黄+蓝=绿  红+蓝=紫  红+黄+蓝=黑

·三原光:红绿蓝
   红+绿=黄  绿+蓝=青  红+蓝=紫  红+绿+蓝=白

·计算机上的颜色系统都是按照三原光设置的。

                  BBS  系  统  的  一  些  操  作  方  法

·特殊命令: (请先按 ESC, 再选择以下项目)

   (I)汇入档案      (E)汇出档案      (C)观看彩色编辑成果
   (B)设定背景色彩  (F)设定前景色彩  (R)还原色彩
   (ESC)彩色控制码  (M)区块处理      (L)开或关讯息栏

·一般命令:

   ^W,^X  存档後结束编辑   丨 ^L,^G  重绘屏幕
   ^Q     显示辅助画面     丨 ^Z     查看或回信息

·游标移动指令:

   ^P,↑    向上    |^N,↓    向下    |^R,←    向左   |^V,→    向右
   ^A,Home  至行首  |^E, End  至行末  |^B,PgUp  上一页 |^F,PgDn  下一页
   ^S       档案开头|^T       档案结尾|Esc-s    搜寻   |Esc-n    继续搜寻
   Esc-g    跳到##行│

·删除命令:

   ^O,Ins  切换插入/置换模式 丨 ^H,BS  删除左方字符  丨 ^Y  删除一行
   ^D,DEL  删除目前字符      丨 ^K     删至行末      丨

·区块处理:

   ^U  区块标定  丨 ^C  复制区块  丨  Esc-d  清除区块 丨 Esc-Q  清除标定

             ANSI.SYS and NANSI.SYS Functions  -  ANSI x3.64

      ESC[y,xH     Cursor position y,x
      ESC[nA       Cursor Up n lines
      ESC[nB       Cursor Down n lines
      ESC[nC       Cursor Forward n characters
      ESC[nD       Cursor Backward n characters
      ESC[y;xf     Cursor position y,x (less frequently used)
      ESC[y;xR     Cursor position report y,x
      ESC[6n       Device status report (cursor pos)(n is constant 'n')
      ESC[s        Save cursor position
      ESC[u        Restore cursor position
      ESC[2J       Erase display
      ESC[K        Erase to end of line
      ESC[nL       Inserts n blank lines at cursor line.   (NANSI)
      ESC[nM       Deletes n lines including cursor line.  (NANSI)
      ESC[n@       Inserts n blank chars at cursor.        (NANSI)
      ESC[nP       Deletes n chars including cursor char.  (NANSI)
      ESC[nP       Deletes n chars including cursor char.  (NANSI)
      ESC[n;ny     Output char translate                   (NANSI)
                   When first char is encountered in output request, it
                   is replaced with the second char.  When no parameters
                   are given, all chars are reset.
      ESC["str"p   Keyboard Key Reassignment. The first char of str gives
                   the key to redefine; the rest of the string is the
                   key's new value.  To specify unprintable chars, give
                   the ASCII value of the char outside of quotes, as a
                   normal parm.   IBM function keys are two byte strings.

                   Ex:  ESC[0;";dir a:";13;p

                   redefines F1 to have the value "dir a:" followed by CR.
                   If no parameters given, all keys are reset to their
                   default values.  Single or double quotes are valid.

      ESC[n;n;...nm  Set Graphics Rendition is used to set attributes as
        well as foreground and background colors.  If multiple parameters
        are used, they are executed in sequence, and the effects are
        cumulative. 'n' is one of the following attributes or colors:
        0  All attributes off       5  Blink
        1  Bold                     7  Reverse Video
        2  Dim                      8  Invisible
        4  Underline

      Foreground colors          Background colors

         30  Black                  40  Black
         31  Red                    41  Red
         32  Green                  42  Green
         33  Yellow                 43  Yellow
         34  Blue                   44  Blue
         35  Magenta                45  Magenta
         36  Cyan                   46  Cyan
         37  White                  47  White

      ESC[=nh     Set mode (see screen modes for n)
      ESC[=nl     Reset Mode (see screen modes for n)

          Screen modes are similar to those found in the IBM BIOS:

             0   text 40x25 Black & White
             1   text 40x25 Color
             2   text 80x25 Black & White
             3   text 80x25 Color
             4   320x200 4 bits/pixel
             5   320x200 1 bit/pixel
             6   640x200 1 bit/pixel
             7   cursor wrap
            13   320x200 4 bits/pixel (EGA)
            14   640x200 4 bits/pixel (EGA)
            16   640x350 4 bits/pixel (EGA)

本文来自: (www.91linux.com) 详细出处参考:http://www.91linux.com/html/article/program/cpp/20081211/14558.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ANSI编码格式是一种常见的字符编码格式,它可以用来将文本、图像和其他数据在不同的计算机环境中进行编码和解码。它是一种通用的标准,用于在不同的计算机系统之间交换信息。它可以存储256种不同的字符,其中包括ASCII字符集以及拉丁字符、中文和其他多语言。 ### 回答2: ANSI编码格式是一种将字符和数字转换成计算机可以识别和存储的二进制数据的方式。它是由美国国家标准化组织(ANSI)制定的一套字符编码标准。 ANSI编码格式最常见的是ANSI字符集,它使用一个字节(8个比特)来表示每个字符。这套编码格式可包括128个字符,其中包括英文字母、数字、标点符号和一些特殊字符。它最早用于ASCII(美国信息交换标准代码)编码标准,后来逐渐发展为包括更多字符的标准。 然而,由于只有128个字符的限制,无法满足其他语言的需求。为了解决这个问题,ANSI编码格式发展出了多种变体,如ANSI/Windows-1252、ANSI/Windows-1251等,它们可以支持不同的语言字符集,如西欧语言、东欧语言等。 然而,随着全球化和国际化的发展,ANSI编码格式的局限性逐渐暴露。为了应对不同国家和地区的字符需求,Unicode编码格式应运而生。Unicode采用16位或32位的编码方案,能够表示更多的字符和符号,包括全球各种文字和符号。与ANSI相比,Unicode提供了更全面、更统一的字符编码方案,被广泛应用于互联网和计算机系统。 总之,ANSI编码格式是一种用于字符和数字转换的标准,它通过使用1字节表示每个字符来编码。虽然ANSI编码格式有局限性,但它为ASCII以及其他语言的字符编码提供了一种基础。随着技术的发展,Unicode编码格式逐渐取代了ANSI,成为主流的字符编码标准。 ### 回答3: ANSI是一种字符编码格式,全称为American National Standard Institute,中文名称为美国国家标准学会,它定义了一套字符编码标准。最早是在美国开发的,被广泛用于英文环境中。 ANSI编码格式最初是为了解决英文字符的编码问题,它使用了一个字节(8位)来表示一个字符,总共支持了128个字符,包括英文字母、数字、标点符号、控制字符等。其中,前32个字符是控制字符,用于控制打印机和终端设备的操作,如换行、退格等。 随着计算机的普及和发展,ANSI编码逐渐扩展了字符集,形成了ANSI编码的扩展版本,比如Windows系统中的常用编码格式ANSI(Windows-1252),它支持了更多的字符,包括欧洲语言中的特殊字符。 但是需要注意的是,ANSI编码格式是一种单字节编码,只能支持有限的字符集,无法满足全球范围内各种语言的需求。随着国际化和多语言环境的需求增加,逐渐被Unicode编码所取代。 总结来说,ANSI编码格式是一种最初用于英文环境的字符编码,使用一个字节表示一个字符,支持128个字符,后来发展出更多扩展版本,但由于其局限性,逐渐被Unicode编码所取代。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值