一、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. Mysql中的视图

    什么是视图 通俗的讲,视图就是一条SELECT语句执行后返回的结果集.所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上. 视图的特性 视图是对若干张基本表的引用,一张虚表,查询语句执 ...

  2. Handler与Looper,MessageQueue的关系

    总结一下Handler与Looper,MessageQueue的关系,并实现自定义与子线程相关的Handler. 一.Handler与Looper,MessageQueue的关系 它们之间的关系其实就 ...

  3. mmap 与 read/write

    mmap与read/write两条路线对文件的访问比较 我们知道无论是通过mmap或read/write访问文件在内核中都必须经过缓存, 当需要从文件读写内容时,都经过内存拷贝的方式与内核中的缓存进行 ...

  4. sql 执行动态语句

    没看明白,可不可以描述清楚点哦 收获园豆:5 回复 | artwl | 专家六级 |园豆:16486 | 2011-09-01 09:10 exec (select  top 2 * from pub ...

  5. 设计模式C#实现(二)——适配器模式

    适配器模式:将一个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无间. 如果它走起路来像只鸭子,叫起来像只鸭子,那么它必定可能是一只鸭子包装了鸭子适配器的火鸡…… 最近有一个 ...

  6. Vrrp协议

    一.简介 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简 ...

  7. Python语言100例

    Python版本:python 3.2.2 电脑系统:win7旗舰 实例来源:python菜鸟教程100例 #!/usr/bin/python # -*- coding: UTF-8 -*- impo ...

  8. C++ 基本知识

    无论父类与子类的析构函数是否是virutal,子类的析构函数都会调用父类的析构函数 调用构造函数是与构造函数顺序相反,先子类后基类,否则如果基类先析构,子类的有些资源已经不存在了,会出错. 在C++中 ...

  9. Java 如何有效地避免OOM:善于利用软引用和弱引用

    Java 如何有效地避免OOM:善于利用软引用和弱引用 想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引 ...

  10. uva 10976 fractions again(水题)——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAB3gAAAM+CAIAAAB31EfqAAAgAElEQVR4nOzdO7KtPJum69GEpAcVQQ ...