linux实践——字符集

一、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

结果:

posted @ 2016-06-01 22:11  20135312吴汉彦  阅读(170)  评论(0编辑  收藏  举报