数据

数据

定义

数据:是现实世界客观事物的符号记录,是信息的载体,是计算机加工的对象。

分类

数值性符号与非数值性符号

重点:文件后缀名

文本.txt,文档.doc[Word文档1997-2003年] .docx[Word文档2003年之后] .pdf,数值
image-20230126232327696

图片.jpg .png .bmp[位图] .psd[PhotoShop 文件],视频.mp4 .mov .mkv .avi .rmvb,音乐.mp3 .flac .wav[波形音频Wave Audio]

image-20230127100101552

image-20230127095709021

image-20230126231756394

PPT[演示文稿].ppt[PPT 1997-2003年] .pptx[PPT2003年之后] 表格[Execl] .xls[Execl 1997-2004年] .xlsx[2004年之后]

image-20230127101008286

2003/2004年份不用记,只需知道后缀名加x的是版本更新后的新后缀名doc->docx ppt->pptx xls->xlsx

特点

  1. 二进制:在计算机中,数据以二进制的形式存储和加工。

    • 由于计算机通信依靠电缆,而电缆只能通过电缆上电压的变化传递信息,所以数字信号高电压和低电压的不断切换传输信息,此时高电压和低电压分别代表二进制的0和1
      数字信号电压图
    • 硬盘/磁带通过改变各个区块的磁极方向N-S S-N来记录数据,此时N-S S-N 分别代表0和1image-20230128162250144
  2. 语义性:即数据是有含义的,可以被理解的。

  3. 分散性:数据是分散的记录,分别记录不同客观事物的运动状态。e.g 提问记录表记录了全班学生各自的体温

  4. 多样性和感知性:可以被感知,可看可听 eg.音乐、视频

数据的存储与传输方式

前景提要

你在唱歌的时候产生的声波是连续的、没有间隔的(每时每刻你都在发出声音),按理来说连续的声波里存储的信息量是无限大的,无法直接存储在硬盘里的 (当然除非你可以把时间细分到不能再分,然后记录这无数个时间里发出的歌声的频率和响度) ,这样的信息只能通过唱片[根据你唱歌发出的声音带动针尖震动在唱片上即时留下对应的痕迹]这种介质完整存储。

换句话说

歌声是这样连续不断的声波=>模拟信息
image-20230128164427037

但如果要存储到计算机的就必须这样变成一个一个点存储=>数字信息
image-20230128164453795

计算机中存储的音频信息大概是这样的

1
2
3
4
5
6
50µs 114.5141918Hz 81dB
100µs 200.7052100Hz 83dB
150µs 2147.4836470Hz 88dB
200µs ...
250µs ...
300µs ...

在这个文本中把唱歌的连续声音切割成50µs的小段

每50µs记录一次声音的频率x Hz和响度y dB 【由模拟信息采样成数字信息=>时间 频率 响度这些数值】

最后把这些文本转化成二进制01存储和传输。【转化为数字信号=>[01] 进行存储传输】如何转化?参考这里

在播放时,计算机读取硬盘中的0 1 信息【数字信号】重新翻译成这个文本 【数字信息如何合成?参考这里

再根据文本中记录的每50µs的频率拟合成连续曲线(就是物理上的用平滑的曲线连起来)【由数字信息拟合成模拟信息】

再播放(不然直接播放声音就是断断续续的)【此时由于已经转换成模拟信号传输依旧可以被干扰】

就能基本上重现原来的音乐。但不可能完整重现(顶多让你听不出来有什么差别而已),因为在记录的过程中失去了50µs-100µs100µs-150µs之间的数据(如文件中没有记录70µs时的频率和响度),只能通过拟合成曲线近似重现。
(所以想听无损音乐和看无损照片的话就去卖唱片和胶卷吧(🙃

既然模拟信号有如此优点,那么为什么还要使用数字信号呢?

举例:老师在使用老式扩音器的时候传输的就是模拟信号,但如果将手机离得太近就会有杂音。这是因为手机的电磁波被导线切割在导线中产生了多余的电流,播放出来就是杂音。而且导线也有电阻,导线越长电压衰竭越大(导线和音响串联根据电阻的正比分电压),但如果把扩音器换成网线,那么手机就算离的再近也不会断网。

数字信号与模拟信号

复习:数字信号通过高电压和低电压代表0和1,电路中只有0 1 两种状态;模拟信号通过连续不断的电压传输信息,电路中可以有无数种不同电压,因此存在无数种状态,即便电压发生很小的变化也会导致状态的变化。

因此数字信号即使遇到干扰,也可以正常读取(总不可能把高电压信号干扰成低电压,低电压信号干扰成高电压吧)当然高压输电线除外

而模拟信号即便受到一些干扰也会导致信息的千变万化。(因此那种电线外面带老多屏蔽层还宣传镀金镀银的电线大概就是模拟线了)

优点 缺点
模拟信号 直观、容易处理、容易实现 易干扰、传输距离短、容易衰减
数字信号 抗干扰强、利于存储、保密性好、可靠性好 技术复杂[需要从0 1转换成数字信息]、成本高

数据的编码

前提知识

二进制中,单独的01 => 1=1 bit(1b)

8位一组0110 0001=> 1字节=1bit(1B) 在最初的ASCII中用8位二进制表示一个字母/符号,因此被称作1字节

$K=\times 1024$

$M=\times 1024\times 1024$

$G=\times 1024\times 1024\times 1024$

$T=\times 1024\times 1024\times 1024\times 1024$

拓展:

$k=\times 1000$

$m=\times 1000\times 1000$

$g=\times 1000\times 1000\times 1000$

$t=\times 1000\times 1000\times 1000\times 1000$

$1B= 8b$

$1KB=1024B=1024\times8B$

$1Kb=1000B=1000\times 8b$

$1KB=8Kb$

$1MB=1024\times1024B=1024KB=1024\times1024\times1024\times8b$

$1Mb=1024\times1024b=1024Kb$

$1MB=8Mb$

$b(bit)\stackrel{\times8}{\longrightarrow}B\stackrel{\times1024}{\longrightarrow}KB\stackrel{\times1024}{\longrightarrow}MB\stackrel{\times1024}{\longrightarrow}GB\stackrel{\times1024}{\longrightarrow}TB$
$b\stackrel{\times1024}{\longrightarrow}Kb\stackrel{\times1024}{\longrightarrow}Mb\stackrel{\times1024}{\longrightarrow}Gb\stackrel{\times1024}{\longrightarrow}Tb$

**生活:商家在宣传时往往用网速1000Mb/s宣传,这里选用的是Mb而非人们常用的MB,由于1B=8b,所以实际速度1000Mb/s=1000/8=125MB/s。同理商家在售卖硬盘的时候会说这是500gB的硬盘而非我们常用的单位GB,小写的k、m、g之间的差是1000倍,而大些的K、M、G之间的差是1024倍,所以$500gB=500\times 1000\times 1000\times 1000B=\frac{500\times 1000\times 1000\times 1000}{1024\times 1024\times 1024}GB $ **

文字

如何将0和1这种数字信号转化成字母和数字方便人类读取?

字典的方式将每个文字对应一种01的排列组合不就可以了?

ASCII[单字节码,8位二进制]

ASCII【American Standard Code for Information Interchange】
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示

Bin(二进制) Dec(十进制) 缩写/字符 解释
0000 0000 0 NUL(null) 空字符
0000 0001 1 SOH(start of headline) 标题开始
0000 0010 2 STX (start of text) 正文开始
0000 0011 3 ETX (end of text) 正文结束
0000 0100 4 EOT (end of transmission) 传输结束
0000 0101 5 ENQ (enquiry) 请求
0000 0110 6 ACK (acknowledge) 收到通知
0000 0111 7 BEL (bell) 响铃
0000 1000 8 BS (backspace) 退格
0000 1001 9 HT (horizontal tab) 水平制表符
0000 1010 10 LF (NL line feed, new line) 换行键
0000 1011 11 VT (vertical tab) 垂直制表符
0000 1100 12 FF (NP form feed, new page) 换页键
0000 1101 13 CR (carriage return) 回车键
0000 1110 14 SO (shift out) 不用切换
0000 1111 15 SI (shift in) 启用切换
0001 0000 16 DLE (data link escape) 数据链路转义
0001 0001 17 DC1 (device control 1) 设备控制1
0001 0010 18 DC2 (device control 2) 设备控制2
0001 0011 19 DC3 (device control 3) 设备控制3
0001 0100 20 DC4 (device control 4) 设备控制4
0001 0101 21 NAK (negative acknowledge) 拒绝接收
0001 0110 22 SYN (synchronous idle) 同步空闲
0001 0111 23 ETB (end of trans. block) 结束传输块
0001 1000 24 CAN (cancel) 取消
0001 1001 25 EM (end of medium) 媒介结束
0001 1010 26 SUB (substitute) 代替
0001 1011 27 ESC (escape) 换码(溢出)
0001 1100 28 FS (file separator) 文件分隔符
0001 1101 29 GS (group separator) 分组符
0001 1110 30 RS (record separator) 记录分隔符
0001 1111 31 US (unit separator) 单元分隔符
0010 0000 32 (space) 空格
0010 0001 33 ! 叹号
0010 0010 34 双引号
0010 0011 35 # 井号
0010 0100 36 $ 美元符
0010 0101 37 % 百分号
0010 0110 38 & 和号
0010 0111 39 闭单引号
0010 1000 40 ( 开括号
0010 1001 41 ) 闭括号
0010 1010 42 * 星号
0010 1011 43 + 加号
0010 1100 44 , 逗号
0010 1101 45 - 减号/破折号
0010 1110 46 . 句号
0010 1111 47 / 斜杠
0011 0000 48 0 字符0
0011 0001 49 1 字符1
0011 0010 50 2 字符2
0011 0011 51 3 字符3
0011 0100 52 4 字符4
0011 0101 53 5 字符5
0011 0110 54 6 字符6
0011 0111 55 7 字符7
0011 1000 56 8 字符8
0011 1001 57 9 字符9
0011 1010 58 : 冒号
0011 1011 59 ; 分号
0011 1100 60 < 小于
0011 1101 61 = 等号
0011 1110 62 > 大于
0011 1111 63 ? 问号
0100 0000 64 @ 电子邮件符号
0100 0001 65 A 大写字母A
0100 0010 66 B 大写字母B
0100 0011 67 C 大写字母C
0100 0100 68 D 大写字母D
0100 0101 69 E 大写字母E
0100 0110 70 F 大写字母F
0100 0111 71 G 大写字母G
0100 1000 72 H 大写字母H
0100 1001 73 I 大写字母I
01001010 74 J 大写字母J
0100 1011 75 K 大写字母K
0100 1100 76 L 大写字母L
0100 1101 77 M 大写字母M
0100 1110 78 N 大写字母N
0100 1111 79 O 大写字母O
0101 0000 80 P 大写字母P
0101 0001 81 Q 大写字母Q
0101 0010 82 R 大写字母R
0101 0011 83 S 大写字母S
0101 0100 84 T 大写字母T
0101 0101 85 U 大写字母U
0101 0110 86 V 大写字母V
0101 0111 87 W 大写字母W
0101 1000 88 X 大写字母X
0101 1001 89 Y 大写字母Y
0101 1010 90 Z 大写字母Z
0101 1011 91 [ 开方括号
0101 1100 92 \ 反斜杠
0101 1101 93 ] 闭方括号
0101 1110 94 ^ 脱字符
0101 1111 95 _ 下划线
0110 0000 96 ` 开单引号
0110 0001 97 a 小写字母a
0110 0010 98 b 小写字母b
0110 0011 99 c 小写字母c
0110 0100 100 d 小写字母d
0110 0101 101 e 小写字母e
0110 0110 102 f 小写字母f
0110 0111 103 g 小写字母g
0110 1000 104 h 小写字母h
0110 1001 105 i 小写字母i
0110 1010 106 j 小写字母j
0110 1011 107 k 小写字母k
0110 1100 108 l 小写字母l
0110 1101 109 m 小写字母m
0110 1110 110 n 小写字母n
0110 1111 111 o 小写字母o
0111 0000 112 p 小写字母p
0111 0001 113 q 小写字母q
0111 0010 114 r 小写字母r
0111 0011 115 s 小写字母s
0111 0100 116 t 小写字母t
0111 0101 117 u 小写字母u
0111 0110 118 v 小写字母v
0111 0111 119 w 小写字母w
0111 1000 120 x 小写字母x
0111 1001 121 y 小写字母y
0111 1010 122 z 小写字母z
0111 1011 123 { 开花括号
0111 1100 124 | 垂线
0111 1101 125 } 闭花括号
0111 1110 126 ~ 波浪号
0111 1111 127 DEL (delete) 删除

记忆:

  • 97 (0110 0001的十进制) 是 a
  • 97**+25**=122(0111 1010的十进制)是 z
  • 65(0100 0001)是A
  • 65**+25**=90(0101 1010的十进制)是Z

注:**+25**是因为有26个连续字母,大写字母和小写字母并不是连续排列的

GBK国标码[双字节码,16位二进制]

包含汉字

Unicode统一码(UCS-2)[双字节码,16位二进制]

包含各国语言

图片

bmp(bitmap)位图

image-20230129172609610

这是一张分辨率为$6000\times3376$ 的$24$位真彩色位图($24$位真彩色也可以表示成 R、G、B 三通道[即红绿蓝三通道]图片,8位/通道)

它的大小该如何计算呢?
image-20230129173111017

我们把图片放大,可以看到是由一个一个像素块构成的,这里的$24$位指的就是每个像素块用24位(24bit)的数据表示

注:16进制每一个数字是4位二进制(e.g ff=1111 1111 83=0100 0001)

我们取一个像素块进行取色,发现这个像素的颜色是用Red:8f Green:80 Blue:83表示的,这里的8f 80 83`为了方便读取是由二进制转为的16进制,因此这个像素的颜色是#8f8083

image-20230129175024591

同理,这个像素是用Red:fc Green:e7 Blue:82表示的,这里的8f8083`为了方便读取是由二进制转为的16进制

因此这个像素的颜色是#fce782

而这里的#fce782#8f8083转换为原来的二进制便是

1111 1100 1110 0111 1000 0010(共24位二进制,24bit)

1000 1111 1000 0000 1000 0011(共24位二进制,24bit)

因此,我们可以得出,位图的大小就是:$像素的个数\times 每个像素占用的大小+ 图片中存储的文件头等信息占用的大小$

对于这个图片[$6000\times3376$ 的$24$位真彩色位图],我们可以计算出它的大小就是$6000\times3376\times 24bit + 其他(选择题时可以忽略不计)=486144000bit$

再进行单位换算(点我复习)

$486144000bit=\frac{486144000bit}{8}B=60768000B$

$60768000B=\frac{60768000B}{1024}=59343.75KB$

$59343.75KB=\frac{59343.75KB}{1024}=57.952880859375MB$

注:考试时计算不会这么恶心,如果不能整除也可以用$\div 1000$代替$\div 1024$估算

注:其他信息包含文件头,图片属性信息,图片尺寸等,大约$54B=54*8=432bit$ ,注意单位换算时bit(b)Byte(B)的区别【坑】

例题:

[CSP2020 普及组第一轮]现有一张分辨率为 $2048\times 1024$像素的 32 位真彩色图像。请问要存储这张图像,需要多大的存储空间?( )。

A. 16MB
B. 4MB
C. 8MB
D. 2MB

$\frac{2048\times1024\times32bit}{8\times1024\times1024}=8MB$

音频

采样

在前面的前景提要中提到了音频采样的大部分知识,点击我查看相关知识【重要】

在前景中我们提到把歌声分成了50µs的切片,这个50µs是怎么确定的呢?

根据奈奎斯特(Harry Nyquist,物理学家,1889 —1976)采样定理,如果以一定时间 间隔对某个信号 $f(x)$进行采样,并且采样频率高于该信号最高频率的两倍,则采样值包 含了原信号的全部信息。
e.g.人最高可以发出10000Hz的声音[这里的10000Hz指的是声音的频率],只要以大于20000Hz的频率进行采样[这里的20000Hz表示对声音进行切片的频率,即1s切片20000次,每0.00005s(50µs)进行一次切片]

p.s 「切片」是一个形象的比喻,如果你不知道什么是「切片」就重新读一下前景提要ba(🙃

量化

image-20230129184201620

这是一首96kHz/24bit的高解析度音乐,其中的96kHz就是对声音采样(切片)的频率为96000Hz,即每秒采样96000

24bit则是把每个切片中的声音频率用24bit(24位二进制)的数据表示,这便是量化位数

而这是一首双声道的音乐,时长3:20

所以这首歌的大小就是
$2声道\times 200s \times 96000次/秒\times 24bit+其他信息(如歌词、封面、作者,考试忽略)=921600000bit$

$921600000bit=\frac{921600000bit}{8\times1024\times1024}MB=109.86328125MB$

因此这首歌为$109.86328125MB$

如何换算?点我复习

$音乐大小=声道数\times时间(s)\times频率(Hz)\times量化位数(bit)+其他信息(考试忽略)$

编码

把声音的频率转换为二进制传输存储

【由模拟信息采样成=>数字信息=>时间 频率 响度这些数值转化为数字信号[01] 进行存储传输】

这个在前景提要里提到了完整的知识,点击我查看相关知识【重要】

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2020-2023 Xingzhi

请我喝杯咖啡吧~

支付宝
微信