一、ASCII码

首先是看得懂ASCII码表:

    二		   八	  十	 	 十六		 缩写/字符
0000 0000 0 0 00 NUL(null)
0000 0001 1 1 01 SOH(start of headline)
0000 0010 2 2 02 STX (start of text)
0000 0011 3 3 03 ETX (end of text)
0000 0100 4 4 04 EOT (end of transmission)
0000 0101 5 5 05 ENQ (enquiry)
0000 0110 6 6 06 ACK (acknowledge)
0000 0111 7 7 07 BEL (bell)
0000 1000 10 8 08 BS (backspace)
0000 1001 11 9 09 HT (horizontal tab)
0000 1010 12 10 0A LF
0000 1011 13 11 0B VT (vertical tab)
0000 1100 14 12 0C FF
0000 1101 15 13 0D CR (carriage return)
0000 1110 16 14 0E SO (shift out)
0000 1111 17 15 0F SI (shift in)
0001 0000 20 16 10 DLE (data link escape)
0001 0001 21 17 11 DC1 (device control 1)
0001 0010 22 18 12 DC2 (device control 2)
0001 0011 23 19 13 DC3 (device control 3)
0001 0100 24 20 14 DC4 (device control 4)
0001 0101 25 21 15 NAK
0001 0110 26 22 16 SYN (synchronous idle)
0001 0111 27 23 17 ETB (end of trans. block)
0001 1000 30 24 18 CAN (cancel)
0001 1001 31 25 19 EM (end of medium)
0001 1010 32 26 1A SUB (substitute)
0001 1011 33 27 1B ESC (escape)
0001 1100 34 28 1C FS (file separator)
0001 1101 35 29 1D GS (group separator)
0001 1110 36 30 1E RS (record separator)
0001 1111 37 31 1F US (unit separator)
0010 0000 40 32 20 (space)
0010 0001 41 33 21 !
0010 0010 42 34 22 "
0010 0011 43 35 23 #
0010 0100 44 36 24 $
0010 0101 45 37 25 %
0010 0110 46 38 26 &
0010 0111 47 39 27 '
0010 1000 50 40 28 (
0010 1001 51 41 29 )
0010 1010 52 42 2A *
0010 1011 53 43 2B +
0010 1100 54 44 2C ,
0010 1101 55 45 2D -
0010 1110 56 46 2E .
00101111 57 47 2F /
00110000 60 48 30 0
00110001 61 49 31 1
00110010 62 50 32 2
00110011 63 51 33 3
00110100 64 52 34 4
00110101 65 53 35 5
00110110 66 54 36 6
00110111 67 55 37 7
00111000 70 56 38 8
00111001 71 57 39 9
00111010 72 58 3A :
00111011 73 59 3B ;
00111100 74 60 3C <
00111101 75 61 3D =
00111110 76 62 3E >
00111111 77 63 3F ?
01000000 100 64 40 @
01000001 101 65 41 A  
01000010 102 66 42 B
01000011 103 67 43 C
01000100 104 68 44 D
01000101 105 69 45 E
01000110 106 70 46 F
01000111 107 71 47 G
01001000 110 72 48 H
01001001 111 73 49 I
01001010 112 74 4A J
01001011 113 75 4B K
01001100 114 76 4C L
01001101 115 77 4D M
01001110 116 78 4E N
01001111 117 79 4F O
01010000 120 80 50 P
01010001 121 81 51 Q
01010010 122 82 52 R
01010011 123 83 53 S
01010100 124 84 54 T
01010101 125 85 55 U
01010110 126 86 56 V
01010111 127 87 57 W
01011000 130 88 58 X
01011001 131 89 59 Y
01011010 132 90 5A Z
01011011 133 91 5B [
01011100 134 92 5C \
01011101 135 93 5D ]
01011110 136 94 5E ^
01011111 137 95 5F _
01100000 140 96 60 `
01100001 141 97 61 a  
01100010 142 98 62 b
01100011 143 99 63 c
01100100 144 100 64 d
01100101 145 101 65 e
01100110 146 102 66 f
01100111 147 103 67 g
01101000 150 104 68 h
01101001 151 105 69 i
01101010 152 106 6A j
01101011 153 107 6B k
01101100 154 108 6C l
01101101 155 109 6D m
01101110 156 110 6E n
01101111 157 111 6F o
01110000 160 112 70 p
01110001 161 113 71 q
01110010 162 114 72 r
01110011 163 115 73 s
01110100 164 116 74 t
01110101 165 117 75 u
01110110 166 118 76 v
01110111 167 119 77 w
01111000 170 120 78 x
01111001 171 121 79 y
01111010 172 122 7A z
01111011 173 123 7B {
01111100 174 124 7C |
01111101 175 125 7D }
01111110 176 126 7E ~
01111111 177 127 7F DEL(delete)

在表中查找出英文字母ABCDEFGHIJKLMNOPQRSTUVWXYZ相对应的十六进制数值为:

41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 51 52 53 54 55 56 57 58 5a

	vim test1.txt

	%!xxd

	%!xxd -r

	:wq

	cat test1.txt

结果:

二、gb2312编码

gb2312相关编码:http://doc.chacuo.net/gb2312

在进行vim编辑的时候,首先将终端的编码方式修改为gb2312,在终端上面的终端选项中进行修改,如下图所示:

修改之后使用命令locale -a|grep zh_CN查看当前拥有的中文字符集:

如果没有gb2312,则使用命令sudo locale-gen zh_CN安装字符集。这样的话,cat打印的东西就不是乱码了。如果vi进去后还是乱码,可以用export LANG=zh_CN.gb2312就可以啦~

	vim test2.txt

	%!xxd

	%!xxd -r

	:wq

	cat test1.txt

结果:(若将终端编码方式修改为unicode(UTF-8),则按gb2312编码的字符则为乱码)

三、utf—8编码

utf—8的相关编码:http://www.cr173.com/html/11686_all.html

将刚才修改过的终端编码方式更改为unicode。

	vim test3.txt

	%!xxd

	%!xxd -r

	:wq

	cat test3.txt

结果:

linux实践——字符集的更多相关文章

  1. linux实践--字符集

    一.ASCII码 首先懂得ASCII码表 二 八 十 十六 缩写/字符 0000 0000 0 0 00 NUL(null) 0000 0001 1 1 01 SOH(start of headlin ...

  2. 其它综合-使用Putty远程连接管理Linux实践

    使用Putty远程连接管理Linux实践 1.获取putty 获取 putty有很多方法,以下是我为大家提供的下载地址: 个人网盘地址,提取码:tz83 官方下载地址 解释: 官方下载的是 zip 压 ...

  3. linux实践之程序破解

    linux实践之程序破解 这次的实践是文件破解,让我们从login可执行文件开始吧! 首先我们执行一下这个可执行程序 ①我们希望在不知道密码的情况下,能够登陆进去.且无论密码是什么,都是提示“on y ...

  4. linux实践之ELF文件分析

    linux实践之ELF文件分析 下面开始elf文件的分析. 我们首先编写一个简单的C代码. 编译链接生成可执行文件. 首先,查看scn15elf.o文件的详细信息. 以16进制形式查看scn15elf ...

  5. linux系统字符集

    Linux中中文乱码问题通常是由于字符集与windows不兼容所引起,windows的中文字符集是双字节的GBK编码linux采用的是3字节的utf-8编码,所以在windows下用工具连接linux ...

  6. 其他综合-使用Xshell远程连接管理Linux实践

    使用Xshell远程连接管理Linux实践 1. Xshell整体优化 1)点击 工具 ,然后选择 选项 2)在 常规 选项中,下面的存放路径根据个人爱好修改(可选默认) 3)在 更新 选项中,将 √ ...

  7. 【实践报告】Linux实践三

    Linux实践——程序破解 一.掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即“空指令”.执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP ...

  8. Linux实践:文件破解

    Linux实践:文件破解 标签(空格分隔): 20135321余佳源 一.掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即"空指令".执行到NOP指令 ...

  9. [Linux实践] macOS平台Homebrew更新brew update卡死,完美解决

    [Linux实践] macOS 平台 Homebrew 更新 brew update 卡死,完美解决 版本2020.01.05 摘要: 使用brew install [软件包]安装软件包时,卡在Upd ...

随机推荐

  1. 安装concrete时提示“...database does not support InnoDB database tables..."如何解决

    安装很多系统时,经常有有提示: "...database does not support InnoDB database tables..." 解决办法: 找到MySQL的配置文 ...

  2. 编写一个Java项目,定义包,在包下定义包含main方法的类,在main方法中声明8种基本数据类型的变量并赋值,练习数据类型转换。

  3. MongoDB学习笔记——MongoDB 连接配置

    MongoDB连接标准格式: mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[dat ...

  4. keepalived初探

    keepalived起初是为LVS设计的,专门用来监控LVS集群系统中各个real server的健康状况的,后来又在其中实现了VRRP协议,VRRP即virtual router redundanc ...

  5. oracle-表空间满了

    一.查看 "sum MB", (a.bytes "used MB",b.bytes "free MB", ,) "used%&qu ...

  6. kettle初探

    Kettle是Pentaho的一个组件,主要用于数据库间的数据迁移,到我用过的4.2版,还不支持noSQL,不知道4.4是不是支持了. Kettle自己有三个主要组件:Spoon,Kitchen,Pa ...

  7. cocos2d-x之物理引擎初试

    发现问题:监听代码部分不能在onEnter()段书写 bool HelloWorld::init() { if ( !Layer::init() ) { return false; } visible ...

  8. 初试cocos2d-x坐标系

    bool HelloWorld::init() { ////////////////////////////// if ( !Layer::init() ) { return false; } Siz ...

  9. MFC 窗口分割

    动态分割窗口: BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { , , CSize(, ...

  10. cmd获取系统时间

    查看时间格式: echo %date% echo %time% 通过%date:~5,2%来组合得出当前日期,组合的效果为yyyymmdd,date命令得到的日期格式默认为yyyy-mm-dd,通过% ...