最下\ X20的ASCII码的出现是完全过时。他们全部在今天使用的?他们可以被认为是“待价而沽”,或者是它最好避免呢?
我需要一个分隔符分组“线”在一起,那就肯定是不错的增选这些用于该目的之一。
从man ascii
:
Oct Dec Hex Char
----------------------------------------------
000 0 00 NUL '\0'
001 1 01 SOH (start of heading)
002 2 02 STX (start of text)
003 3 03 ETX (end of text)
004 4 04 EOT (end of transmission)
005 5 05 ENQ (enquiry)
006 6 06 ACK (acknowledge)
007 7 07 BEL '\a' (bell)
010 8 08 BS '\b' (backspace)
011 9 09 HT '\t' (horizontal tab)
012 10 0A LF '\n' (new line)
013 11 0B VT '\v' (vertical tab)
014 12 0C FF '\f' (form feed)
015 13 0D CR '\r' (carriage ret)
016 14 0E SO (shift out)
017 15 0F SI (shift in)
020 16 10 DLE (data link escape)
021 17 11 DC1 (device control 1)
022 18 12 DC2 (device control 2)
023 19 13 DC3 (device control 3)
024 20 14 DC4 (device control 4)
025 21 15 NAK (negative ack.)
026 22 16 SYN (synchronous idle)
027 23 17 ETB (end of trans. blk)
030 24 18 CAN (cancel)
031 25 19 EM (end of medium)
032 26 1A SUB (substitute)
033 27 1B ESC (escape)
034 28 1C FS (file separator)
035 29 1D GS (group separator)
036 30 1E RS (record separator)
037 31 1F US (unit separator)
040 32 20 SPACE
首先最容易的部分:有最现代化的系统没有网络传输的担忧。当前的协议处理几乎所有的数据 - 无论是7位ASCII,8位ASCII,Unicode字符,图像数据或编译的程序 - 为二进制数据。这并非一直如此。许多旧系统有控制权转码和其他“不可打印”的字符,特别是问题,8位数据的问题。但是,那些日子,幸运的是,在我们背后。一个大例外是,如果你希望能够通过HTML形式复制/粘贴数据 - 对于要离开了所有的控制代码和其他有趣的东西。
当然,你可以的,使格式任何你喜欢的。然而,一些字符仍使用相当频繁:
000 0 00 NUL '\0' - does "nothing" but is hard for some text editors to handle
003 3 03 ETX (end of text) - Control-C - "break" in a lot of systems
007 7 07 BEL '\a' (bell) - Still makes a bell sound.
011 9 09 HT '\t' (horizontal tab) - A lot of text editors and file formats use this to set a fixed number of spaces
012 10 0A LF '\n' (new line) - like it says
015 13 0D CR '\r' (carriage ret) - used instead of, or together with \n on many systems
021 17 11 DC1 (device control 1) - Control-Q - Resume transmission - XON
023 19 13 DC3 (device control 3) - Control-S - Pause transmission - XOFF
033 27 1B ESC (escape) - Used for PCL and other printer control codes and plenty of other things
一切是相当多的争夺。我要特别避免NUL和XON / XOFF - 他们有时很难进入到一个文件 - 和BEL因为BEL键入一个文件可以是嘈杂。
如果你有一个真正的二进制格式,那么你可以做任何你想要的。但是,如果你想有一个大部分人可读的格式,然后限制控制代码是一个好主意。
位模式 - 也就是数字化的数值 - 没有过时。 ASCII控制码的标签反映表现出在不同的语境下的用途 - 串行通信,文本显示和打印,命令行编辑等更好的文字处理器和文本编辑们使用的所有这些代码在他们的键盘命令套,甚至更早让所有的人都被插入的文件,自20世纪70年代,也许。这种方案是注意不要将这些代码直接发送到屏幕上;他们解释新行和制表符,有时别人,显示一切象征,在插入符号符号(“^ A”为SOH,例如)或下划线或括号字符。当然,避免ESC和上面提到的其他几个人,如果你是怕用户将猫您的文件到屏幕上。否则,随意使用。
很久以前,我修补的WordStar根据需要进行时,它把我的点阵打印机进入图形模式。使用WordStar的,任何7位代码在所有可能被放入图形数据。工作就像一个魅力。