基础知识
进制
十进制
特点:满10进1
计数:0 1 2 3 4 5 6 7 8 9 10 11 12 13 … 19 20 …
单位数字:(0-9)10个
二进制(计算机底层的进制)
特点:满2进1
计数:0 1 10 11 100 101 110 111 …
单位数字:0、1
扩展:
1、所有数据在计算机底层都以二进制的形式保存。
2、可以将内存想象为一个有多个小格子组成的容器,每一个小格子中可以存储一个1或一个0,这一个小格子在内存中被称为1位(bit)。
8bit = 1byte(字节)
1024byte = 1kb(千字节)
1024kb = 1mb(兆字节)
1024mb = 1gb(吉字节)
1024gb = 1tb(特字节)
1024tp = 1pb
八进制
特点:满8进1
计数: 0 1 2 3 4 5 6 7 10 11 12 … 17 20 …
单位数字: (0-7)8个
十六进制(一般显示一个二进制数字时,都会转换为十六进制)
特点:满16进1
计数:0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 … 1a 1b 1c 1d 1e 1f 20 …
单位数字:(0-f)16个
字符编码
编码:将字符转换为二进制码的过程称为编码。宋江 -> 110000110110
解码:将二进制码转换为字符的过程称为解码。110000110110 -> 宋江
所有的数据在计算机中存储时都是以二进制形式存储的,文字也不例外。所以一段文字在存储到内存中时,都需要转换为二进制编码,当我们读取这段文字时,计算机会将编码转换为字符。
字符集(charset): 编码和解码所采用的规则称为字符集。
乱码问题:如果编码和解码所采用的字符集不同就会出现乱码问题
常见的字符集:
ASCII
ISO88591
GB2312
GBK
UTF-8
在开发时我们使用的字符集都是UTF-8。
字符编码(英语:Character encoding)也称字集码,是把字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。其中,ASCII将字母、数字和其它符号编号,并用7比特的二进制来表示这个整数。通常会额外使用一个扩充的比特,以便于以1个字节的方式存储。
在计算机技术发展的早期,如ASCII(1963年)和EBCDIC(1964年)这样的字符集逐渐成为标准。但这些字符集的局限很快就变得明显,于是人们开发了许多方法来扩展它们。对于支持包括东亚CJK字符家族在内的写作系统的要求能支持更大量的字符,并且需要一种系统而不是临时的方法实现这些字符的编码。
ASCII
美国(国家)信息交换标准(代)码,一种使用7个或8个二进制位进行编码的方案,最多可以给256个字符(包括字母、数字、标点符号、控制字符及其他符号)分配(或指定)数值。
ASCII码于1961年提出,用于在不同计算机硬件和软件系统中实现数据传输标准化,在大多数的小型机和全部的个人计算机都使用此码。ASCII码划分为两个集合:128个字符的标准ASCII码和附加的128个字符的扩充和ASCII码。比较EBCDIC。其中95个字符可以显示。另外33个不可以显示。 标准ASCII码为7位,扩充为8位。
目前使用最广泛的西文字符集及其编码是 ASCII 字符集和 ASCII 码( ASCII 是 American Standard Code for Information Interchange 的缩写),它同时也被国际标准化组织( International Organization for Standardization, ISO )批准为国际标准。
基本的 ASCII 字符集共有 128 个字符,其中有 96 个可打印字符,包括常用的字母、数字、标点符号等,另外还有 32 个控制字符。标准 ASCII 码使用 7 个二进位对字符进行编码,对应的 ISO 标准为 ISO646 标准。下表展示了基本 ASCII 字符集及其编码:
字母和数字的 ASCII 码的记忆是非常简单的。我们只要记住了一个字母或数字的 ASCII 码(例如记住 A 为 65 , 0 的 ASCII 码为 48 ),知道相应的大小写字母之间差 32 ,就可以推算出其余字母、数字的 ASCII 码。
虽然标准 ASCII 码是 7 位编码,但由于计算机基本处理单位为字节( 1byte = 8bit ),所以一般仍以一个字节来存放一个 ASCII 字符。每一个字节中多余出来的一位(最高位)在计算机内部通常保持为 0 (在数据传输时可用作奇偶校验位)。
由于标准 ASCII 字符集字符数目有限,在实际应用中往往无法满足要求。为此,国际标准化组织又制定了 ISO2022 标准,它规定了在保持与 ISO646 兼容的前提下将 ASCII 字符集扩充为 8 位代码的统一方法。 ISO 陆续制定了一批适用于不同地区的扩充 ASCII 字符集,每种扩充 ASCII 字符集分别可以扩充 128 个字符,这些扩充字符的编码均为高位为 1 的 8 位代码(即十进制数 128~255 ),称为扩展 ASCII 码。
通过了解字符的存储编码,可以解决很多由编码不匹配引起的问题,比如网页乱码、邮件乱码,本文简单扼要地阐明了ASCII编码、EBCDIC编码、GB2312编码、UTF-8编码、以及Base64编码。
编码
在显示器上看见的文字、图片等信息在电脑里面其实并不是我们看见的样子,即使你知道所有信息都存储在硬盘里,把它拆开也看不见里面有任何东西,只有些盘片。假设,你用显微镜把盘片放大,会看见盘片表面凹凸不平,凸起的地方被磁化,凹的地方是没有被磁化;凸起的地方代表数字1,凹的地方代表数字0。硬盘只能用0和1来表示所有文字、图片等信息。那么字母”A”在硬盘上是如何存储的呢?可能小张计算机存储字母”A”是1100001,而小王存储字母”A”是11000010,这样双方交换信息时就会误解。比如小张把1100001发送给小王,小王并不认为1100001是字母”A”,可能认为这是字母”X”,于是小王在用记事本访问存储在硬盘上的1100001时,在屏幕上显示的就是字母”X”。也就是说,小张和小王使用了不同的编码表。小张用的编码表是ASCII,ASCII编码表把26个字母都一一的对应到2进制1和0上;小王用的编码表可能是EBCDIC,只不过EBCDIC编码与ASCII编码中的字母和01的对应关系不同。一般地说,开放的操作系统(LINUX 、WINDOWS等)采用ASCII 编码,而大型主机系统(MVS 、OS/390等)采用EBCDIC 编码。在发送数据给对方前,需要事先告知对方自己所使用的编码,或者通过转码,使不同编码方案的两个系统可沟通自如。
ASCII码使用7位2进制数表示一个字符,7位2进制数可以表示出2的7次方个字符,共128个字符。EBCDIC码使用8位,可以表示出2的8次方个字符,256个字符。
无论是ASCII码还是EBCDIC码,都无法对拥有几万个的汉字进行编码。因为上面已经提过,7位2进制数最多对应上128个字符,8位最多对应上256个字符。
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10和13分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序而对文本显示有不同的影响。
32126(共95个)是字符(32sp是空格),其中4857为0到9十个阿拉伯数字,6590为26个大写英文字母,97122为26个小写字母,其余为一些标点符号、运算符号等。
MBCS
为了扩充ASCII编码,以用于显示本国的语言,不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码,又称为"MBCS(Muilti-Bytes Character Set,多字节字符集)"。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码,所以在中文 windows下要转码成gb2312,gbk只需要把文本保存为ANSI 编码即可。 不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。一个很大的缺点是,同一个编码值,在不同的编码体系里代表着不同的字。这样就容易造成混乱。导致了unicode码的诞生。
其中每个语言下的ANSI编码,都有一套一对一的编码转换器,Unicode变成所有编码转换的中间介质。所有的编码都有一个转换器可以转换到Unicode,而Unicode也可以转换到其他所有的编码。
编码
编码种类
ASCII
计算机中的所有数据,不论是文字、图片、视频、音频文件,本质上最终都是按照类似01010101的二进制存储的。即:计算机只懂二进制数字。
目标是将我们能识别的符号唯一的与一组二进制数字对应。出现通过一个电平的高低状态代指0或1,8个电平做为一组就可以表示出256种状态,每种状态就唯一对应一个字符,比如:A->00010001,而英文只有26个字符,算上一些特殊的字符和数字,128个状态也够用了;每个电平称为一个比特位,约定8个比特位构成一个字节,这样计算机就可以用127个不同字节来存储英文字符,这就是ASCII编码。
扩展ANSI编码
最开始,一个字节有8位,但是最高位没用上。默认为0;后来为了计算机也可以表示拉丁文,就将最后一位也用上了,从128到255的字符集对应拉丁文,至此,一个字节就用满了。
GB2312
将扩展的第8位对应拉丁文全部删掉,规定一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,前面的一个字节(称之为高字节)从0xA1用到0xF7,后面一个字节(低字节)从0xA1到0xFE,这样我们就可以组合出大约7000多个简体汉字了;这种汉字方案叫做“GB2312”。GB2312是对ASCII的中文扩展。
GBK和GB18030编码
由于汉字太多,GB2312也不够用,于是规定:只要第一个字节是大于127就固定表示这是一个汉字的开始,不管后面跟的是不是扩展字符集里的内容。结果扩展之后的编码方案被称为GBK标准,GBK包括了GB2312的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。
UTF-8
对于英文世界的人们来讲,一个字节完全够了,比如要存储A,本来00010001就可以了,现在用国际标准Unicode,得用两个字节:00000000 00010001才行,浪费太严重。基于此,提出了UTF-8.
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,它可以使用1~4个字节表示一个符号,根据不同的符号而变化字符长度,当字符在ASCII码的范围时,就用一个字节表示,所以是兼容ASCII编码的。显著的好处是,虽然在我们内存中的数据都是Unicode,但当数据要保存到磁盘或者用于网络传输时,直接使用Unicode就远不如UTF-8省空间,这也是为什么UTF-8是我们的推荐编码方式。
markdown
列表
有序列表
今天天气不错百度。
- 魏
- 曹操
- 司马懿
- 典韦
- 蜀
- 刘备
- 诸葛亮
- 关羽
- 吴
- 孙权
- 周瑜
- 太史慈
无序列表
- 聊天软件
- 办公软件
- Office
- Word
- Excel
- PowerPoint
- Markdown
- Office
- 操作系统
- Windows
- Linux
任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 已完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
分割线设置
段落引用设置
这是段落引用
修改文字
三国英雄帖
三国英雄帖
三国英雄帖
细数英雄 ,似在眼前
细数英雄 ,似在眼前
- 使用
![]()
标记插入图片 - 使用两行```标记插入代码框
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
- 魏
- 曹操
- 司马懿
- 典韦
- 郭嘉
- 杨修
- 蜀
- 刘备
- 关羽
- 张飞
- 吴
- 孙权
- 周瑜
- 太史慈
- 聊天软件
- 办公软件
- Office
- Word
- Excel
- PowerPoint
- Office
- 截图工具
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
今天天启不怎么好,就像我的心情一样,为什么?因为总是有同学中途退出>腾讯会议。
hahha
今天天启不怎么好,就像我的心情一样,为什么?因为总是有同学 中途`退出
class Persion {
public static void main(String[] args) {
System.out.println("Hello, world");
}
}
欢迎使用Markdown编辑器
你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以自信阅读文档。
朱自清 荷塘月色 功能
今天天启不错,适合去爬山。
功能快捷键
撤销: +
加粗:Ctrl + B
斜体:Ctrl + I
标题:Ctrl + Shift + H
无序列表Ctrl + Shift + U
有序列表Ctrl + Shift + O
检查列表Ctrl + Shift + C
插入代码Ctrl + Shift + K
插入图片Ctrl + Shift + G
查找Ctrl + F
替换Ctrl + G
这是标题
加粗:
今天天气不错
__今天__天气不错
斜体:
_今天_天气不错
今天天气不错
标记:
今天天气不错
H2O 是液体
210等于1024
姓名 | 性别 | 年龄 | 班级 |
---|---|---|---|
宋江 | 男 | 50 | 223 |
吴用 | 男 | 55 | 224 |
卢俊义 | 男 | 45 | 225 |
潘巧云 | 女 | 20 | 224 |
如果想要继续学习markdown,请访问百度。
```mermaid graph LR A[长方形] -- 链接 --> B((圆)) A --> C(圆角长方形) B --> D{菱形} C --> D ```
这是一级标题
这是两级标题
这是三级标题
这是四级标题
这是五级标题
这是六级标题
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
- 水果
- 苹果
- 芒果
- 橘子
- 哈哈
- 蔬菜
- 白菜
- 胡萝卜
- 水果
- 苹果
- 芒果
- 哈哈
- 蔬菜
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
- 未完成的任务列表
以下是hr标签的效果
姓名 | 性别 | 年龄 | 班级 |
---|---|---|---|
宋江 | 男 | 55 | 大数据224班 |
卢俊义 | 男 | 50 | 大数据223班 |
吴用 | 男 | 30 | 大数据225班 |
潘巧云 | 女 | 20 | 大数据225班 |
更多内容请访问百度
荷塘月色
作者:朱自清1
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错2
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
今天天气不错
哈哈哈哈
撤销:Ctrl + Z
加粗:Ctrl + B
斜体:Ctrl + I
标题:Ctrl + Shift + H
无序列表:Ctrl + Shift + U
有序列表:Ctrl + Shift + O
检查列表:Ctrl + Shift + C
插入代码:Ctrl + Shift + K
插入链接:Ctrl + Shift + L
插入图片:Ctrl + Shift + G
查找:Ctrl + F
替换:Ctrl + G
百度
Markdown编辑器
Markdown编辑器 所展示
新的改变
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
如何插入一段漂亮的代码片
代码片
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' | ‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" | “Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash | – is en-dash, — is em-dash |
创建一个自定义列表
-
Markdown
- Text-to- HTML conversion tool Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.