文件编码方式的分析与理解

本文探讨了计算机中的编码原理,从ASCII编码开始,讲解了其背景和局限性,以及如何演变为多字节编码以适应不同语言的需求。作者通过学习JavaIO时对编码的困惑,分享了对字符编码的理解,特别是对于汉字编码的特殊性进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习JavaIO的时候遇到编码,感觉一脸蒙B,于是研究了一下编码这个东西,以下是个人的总结,有不足之处请多多指正。

我们都知道计算机存储的最小单位是字节,而一个字节是八位,也就是说一个字节能表示的范围是0~255,由于一开始计算机诞生于美国,所以美国人首先在上面对英语进行编码,就出现了ASCII编码,表示了0~127,剩下的128~255便空着,后来,很多的其他语言都在128~255上面进行制定自己的编码,我们国家由于汉字较多,常用汉字就有6000多个,要是按照一个字节编码,根本不够用,所以就有人想出了两个字节编码一个字,0~127仍然按照原来的编码(一个字节编码方式)这就出现了全角与半角。下面附上一张0~127的ASCII表:

Bin
Oct
Dec
Hex
缩写/字符
解释
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 (NL line feed, new line)
换行键
0000 1011
13
11
0B
VT (vertical tab)
垂直制表符
0000 1100
14
12
0C
FF (NP form feed, new page)
换页键
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)
设备控制1
0001 0010
22
18
12
DC2 (device control 2)
设备控制2
0001 0011
23
19
13
DC3 (device control 3)
设备控制3
0001 0100
24
20
14
DC4 (device control 4)
设备控制4
0001 0101
25
21
15
NAK (negative acknowledge)
拒绝接收
0001 0110
26
22
16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值