Linux下查看文件内容的ASCII码以检查内容的编码一致

转载链接:http://blog.csdn.net/tiantang46800/article/details/6460567

ascii查询方式,查看文件以ascii显示,od命令

随着计算机飞速的发展,很多人开始学习Linux,怎样才能学好Linux,一定要学好Linux的命令。学习Linux,你可能会遇到Linux指令od的知识 ,这里将介绍Linux指令od应用方法。

Linux指令:od

示例用法:od -c hello

Linux指令:od

od命令
用户通常使用od命令查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。

语法:od [选项] 文件…
命令中各选项的含义:
- A 指定地址基数,包括:
d 十进制
o 八进制(系统默认值)
x 十六进制
n 不打印位移值
- t 指定数据的显示格式,主要的参数有:
c ASCII字符或反斜杠序列
d 有符号十进制数
f 浮点数
o 八进制(系统默认值为02)
u 无符号十进制数
x 十六进制数
除了选项c以外的其他选项后面都可以跟一个十进制数n,指定每个显示值所包含的字节数。

说明:od命令系统默认的显示方式是八进制,这也是该命令的名称由来(Octal
Dump)。但这不是最有用的显示方式,用ASCII码和十六进制组合的方式能提供更有价值的信息输出。

例如:

 
  
  1. $ od - Ax - tcx1 wh5  注意:参数的顺序od - Ax - txc1 wh5报错
  2. 000000 F i l e s y s t e m  
  3. 46 69 6c 65 73 79 73 74 65 6d 20 20 20 20 20 20  
  4. 000010 1 k - b l o c k s  
  5. 20 20 20 20 20 31 6b 2d 62 6c 6f 63 6b 73 20 20  
  6. 000020 U s e d A v a i l a b  
  7. 20 20 20 20 55 73 65 64 20 41 76 61 69 6c 61 62  
  8. 000030 l e U s e % M o u n t e d  
  9. 6c 65 20 55 73 65 25 20 4d 6f 75 6e 74 65 64 20  
  10.  
  11. ---- My test -----  
  12. ysun@linetcps1dev:~> cat a  
  13. hello,world.  
  14. Joey.  

 
  
  1. ysun@linetcps1dev:~> od -Ax -tcx4 a  
  2. 000000 h e l l o , w o r l d . /n /t J o  
  3. 6c6c6568 6f772c6f 2e646c72 6f4a090a  
  4. 000010 e y . /n /n /0 /0 /0  
  5. 0a2e7965 0000000a  
  6. 000015 

od 和 hexdump
实用程序 od 和 hexdump 分别输出文件或流的八进制、十六进制或其他编码的字节。它们对于访问或可视地检查文件中不能直接显示在终端上的字符很有用。

HERE 文档
有一种特殊的重定向值得在本教程中提一下。虽然严格地讲,HERE 文档是诸如 bash 这样的 shell
的特性,而不是与文本实用程序有关的任何东西,但是它们提供了向文本实用程序发送特殊数据的有用途径。
双小于号重定向可用于从终端接收伪文件的内容。HERE 文档必须紧跟在 << 后面指定一个终止分隔符。
如:

 
  
  1. $ od -c   <<END  $ od -c   - Ax - tcx1 <<END 这样就可以像上面一样显示了
  2. > Alice  
  3. > Bob  
  4. > END  
  5. 0000000 A l i c e /n B o b /n  
  6. 0000012 

任何字符串都可以用作分隔符;输入将在一行上遇到该字符串本身的地方终止。这样为我们提供了创建持久性文件的快捷方法:

 
  
  1. $ cat myfile <<EOF 
  2. > Dave  
  3. > Edna  
  4. > EOF  
  5. $ hexdump -C myfile  
  6. 00000000 44 61 76 65 0a 45 64 6e 61 0a |Dave.Edna.|  
  7. 0000000a 

这就是Linux指令od的知识。

编辑本段查询ASCII技巧  方便查询ASCII码对应的字符:新建一个文本文档,按住ALT+要查询的码值(注意,这里是十进制)   松开即可显示出对应字符。例如:按住ALT+97,则会显示出‘a’。

标准ASCII表  

Bin Dec Hex 缩写/字符 解释
00000000 0 00 NUL(null) 空字符
00000001 1 01 SOH(start of headling) 标题开始
00000010 2 02 STX (start of text) 正文开始
00000011 3 03 ETX (end of text) 正文结束
00000100 4 04 EOT (end of transmission) 传输结束
00000101 5 05 ENQ (enquiry) 请求
00000110 6 06 ACK (acknowledge) 收到通知
00000111 7 07 BEL (bell) 响铃
00001000 8 08 BS (backspace) 退格
00001001 9 09 HT (horizontal tab) 水平制表符
00001010 10 0A LF (NL line feed, new line) 换行键
00001011 11 0B VT (vertical tab) 垂直制表符
00001100 12 0C FF (NP form feed, new page) 换页键
00001101 13 0D CR (carriage return) 回车键
00001110 14 0E SO (shift out) 不用切换
00001111 15 0F SI (shift in) 启用切换
00010000 16 10 DLE (data link escape) 数据链路转义
00010001 17 11 DC1 (device control 1) 设备控制1
00010010 18 12 DC2 (device control 2) 设备控制2
00010011 19 13 DC3 (device control 3) 设备控制3
00010100 20 14 DC4 (device control 4) 设备控制4
00010101 21 15 NAK (negative acknowledge) 拒绝接收
00010110 22 16 SYN (synchronous idle) 同步空闲
00010111 23 17 ETB (end of trans. block) 传输块结束
00011000 24 18 CAN (cancel) 取消
00011001 25 19 EM (end of medium) 介质中断
00011010 26 1A SUB (substitute) 替补
00011011 27 1B ESC (escape) 溢出
00011100 28 1C FS (file separator) 文件分割符
00011101 29 1D GS (group separator) 分组符
00011110 30 1E RS (record separator) 记录分离符
00011111 31 1F US (unit separator) 单元分隔符
00100000 32 20 (space) 空格
00100001 33 21 !  
00100010 34 22 "  
00100011 35 23 #  
00100100 36 24 $  
00100101 37 25 %  
00100110 38 26 &  
00100111 39 27 '  
00101000 40 28 (  
00101001 41 29 )  
00101010 42 2A *  
00101011 43 2B +  
00101100 44 2C ,  
00101101 45 2D -  
00101110 46 2E .  
00101111 47 2F /  
00110000 48 30 0

你可能感兴趣的:(PHP,Linux)