1.纯文本与富文本
-
纯文本——只有文字和基本的标点,如记事本。(纯文本格式:Plain Text Format)
-
富文本——可以有图以及各种特殊标点,分段等格式,如 Word。(富文本格式:Rich Text Format, 一般简称为 RTF)
2.标记语言
- 标记语言(Markup Language),又称置标语言,是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。通常可以分为三类:标识性的、过程性的以及描述性的。
- 标记语言不仅仅是一种语言,就像许多语言一样,它需要一个运行环境,使其有用。提供运行时环境的元素称为用户代理。
3.Markdown
-
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。一般来说,Markdown 既意味着一套标记语法,也表示能将标记字符转换,最终呈现出我们想要的排版效果的软件,即 Markdown 编辑器。 [参考资料]
-
Markdown 编辑器与富文本编辑器相比,富文本编辑器编辑文字是通过点击图形化的功能按钮来实现,Markdown 编辑器则是通过标记字符去编辑。所以 Markdown 的核心就在于通过输入字符同时进行排版和内容输入。
-
优点:
- 书写过程流畅,不需要双手离开键盘即可编辑格式;
- 格式不随编辑器而改变,导出与分享方便;
- 书写错误易发现,可选编辑工具多样。
-
关于在Markdown 中插入图片:由于 Markdown 文件是纯文本文件,因此您不能直接将图像数据插入 Markdown 文件,而是插入对图像文件的引用。在 Markdown 中,图像的写法类似于[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EeTSjZXx-1635662117364)(src)],这里的src 可以是一个URL,像https://octodex.github.com/images/yaktocat.png,或绝对/相对文件路径,像…/images/test.png。
4.CSS
- 层叠样式表(Cascading Style Sheets)是一种用来表现 HTML 或 XML 等文件样式的计算机语言。
- 样式表定义如何显示 HTML 元素,就像 HTML 3.2 的字体标签和颜色属性所起的作用那样。样式通常保存在外部的独立的 .CSS 文件(该文件不属于任何页面文件)可以在多个页面中使用同一个 CSS 样式表。通过在任何的页面文件中引用 .CSS 文件,你可以设置具有一致风格的多个页面。[参考资料]
- 样式层叠就是对一个元素多次设置同一个样式,这将使用最后一次设置的属性值。
5.HTML
- Hyper Text Markup Language,称为超文本标记语言。
- 它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的 Internet 资源连接为一个逻辑整体。HTML 文本是由 HTML 命令组成的描述性文本, HTML 命令可以说明文字,图形、动画、声音、表格、链接等。
6.XML
- 可扩展标记语言,标准通用标记语言的子集,简称 XML,是一种简单的数据存储语言。
- 在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是 Internet 环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998 年,W3C 就发布了 XML1.0 规范,使用它来简化 Internet 的文档信息传输。
7.字面量
-
在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)。几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数、浮点数以及字符串;而有很多也对布尔类型和字符类型的值也支持字面量表示。
-
//举例说明: void main(void) { int a = 10; // 10为int类型字面量 char a[] = {"Hello world!"} // Hello world 为字符串形式字面量 //以此类推 }
8.字符集及其编码
1.西文字符
- 美国标准信息交换码(ASCII)是计算机中使用最广泛的西文字符集编码。
- ASCII字符集共有128个字符,包括96个可打印字符(常用的拉丁字母、阿拉伯数字、标点符号等)和32个控制字符。
- 每个字符使用7位二进制进行编码,在计算机中使用一个字节来存放,字节中多出来的最高位通常为“0”,在数据传输是也可用作奇偶校验位。
2.汉字编码
- GB2312国际字符集
- 包含3755个一级常用汉字和3008个二级常用汉字,此外还有682个图形符号(包括拉丁字母、俄文、日文平/片假名、希腊字母、汉语拼音等)
- 在计算机内采用2字节表示,每个字节的最高位规定为“1”
- GB18030中文编码国家标准
- 包含世界各国和地区的90套书写符号,共约11万个字符。其中汉字7万多个(也称CJK汉字)
- 采用不等长的编码方法,单字节编码表示ASCII字符(与ASCII码兼容),双字节编码(23940个)表示汉字(与GB2312编码相同),
3.UCS/Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码,学名是 “Universal Multiple-Octet Coded Character Set”,简称UCS。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式发布1.0版本,2020年发布13.0版本。在这种语言环境下,不会再有语言的编码冲突,在同屏下,可以显示任何语言的内容,解决了传统字符编码方案的局限。Unicode 编码系统可分为编码方式和实现方式两个层次。[参考资料]
-
编码方式
-
早期的Unicode 标准有UCS-2、UCS-4。UCS-2 用两个字节编码,UCS-4 用4 个字节编码。
-
UCS-4 根据最高位为0 的最高字节分成2^7=128 个group。每个group 再根据次高字节分为256 个平面(plane)。每个平面根据第3 个字节分为256 行 (row),每行有256 个码位(cell)。group 0 的平面0 被称作基本平面(Basic Multilingual Plane,BMP,码点范围从U+0000 到 U+FFFF),最常见的字符都放在这个平面。剩下的字符都放在辅助平面(简称 SMP,码点范围从 U+010000 到 U+10FFFF)。将UCS-4 的BMP 去掉前面的两个零字节就得到了UCS-2。
-
每个平面有2^16=65536 个码位。Unicode 计划使用了17 个平面(即用数字0~0x10FFFF 来映射字符),一共有17*65536=1114112 个码位(码位就是可以分配给字符的数字)。其中平面15 和平面16 上只是定义了两个各占65534 个码位的专用区(Private Use Area,PUA),专用区是保留给大家放自定义字符的区域。平面0 也有一个专用区:0xE000-0xF8FF,有6400个码位。此外,平面0 的0xD800-0xDFFF,共2048 个码位,是一个被称作代理区(Surrogate)的特殊区域,其目的是用两个UTF-16 字符表示BMP 以外的字符。
-
-
实现方式
UTF 是 “UCS Transformation Format” 的缩写,可以翻译成Unicode 字符集转换格式,即怎样将Unicode 定义的数字转换成二进制程序数据。因为Unicode 本身只规定了每个字符的数字编号是多少,并没有规定这个编号如何存储。[参考资料]
-
UTF-8
UTF-8 是目前互联网上使用最广泛的一种 Unicode 编码方式,它的最大特点就是可变长。它可以使用 1 - 4 个字节表示一个字符,根据字符的不同变换长度。编码规则如下:
- 对于单个字节的字符,第一位设为 0,后面的 7 位对应这个字符的 Unicode 码点。因此,对于英文中的 0 - 127 号字符,与 ASCII 码完全相同。
- 对于需要使用 N 个字节来表示的字符(N > 1),第一个字节的前 N 位都设为 1,第 N + 1 位设为0,剩余的 N - 1 个字节的前两位都设位 10,剩下的二进制位则使用这个字符的 Unicode 码点来填充。解码时,第一个字节开头有多少个连续的 1,就表示该字符占用多少个字节。
-
UTF-16
UTF-16 编码介于 UTF-32 与 UTF-8 之间,同时结合了定长和变长两种编码方法的特点。它的编码规则很简单:基本平面(BMP)的字符占用 2 个字节,辅助平面(SMP)的字符占用 4 个字节。平面0 的0xD800-0xDFFF段(代理区)不对应任何字符,专门用来映射辅助平面的字符。
辅助平面的字符位共有 2^20 个,因此表示这些字符至少需要 20 个二进制位。UTF-16 将这 20 个二进制位分成两半,前 10 位映射在 U+D800 到 U+DBFF,称为高位(H),后 10 位映射在 U+DC00 到 U+DFFF,称为低位(L)。这意味着,一个辅助平面的字符,被拆成两个基本平面的字符表示。
-
UTF-32
一种固定长度的编码方案,不管字符编号大小,始终使用 4 个字节来存储。它足以容纳所有的 Unicode 字符,所以直接存储 Unicode 编号即可,不需要任何编码转换。浪费了存储空间,但提升了效率。
-
此外,对于小端和大端存储,存在例如UTF-16LE 和UTF-16BE、UTF-32LE 和UTF-32BE 的区别。
-
9.Tex
- 基于宏的流行的文本格式化程序 (它是包括LaTeX 和teTeX 在内的其它此类格式化程序的基础)。
- TeX 是由著名的计算机科学家Donald E. Knuth(高德纳)发明的电子排版系统,在学术界十分流行,特别是数学、物理学、统计学与计算机科学界。TeX 被普遍认为是一个很好的排版工具,特别是在处理复杂的数学公式时。利用诸如是LaTeX 等终端软件,TeX 就能够排版出精美的文本。
- TeX 提供了一套功能强大并且十分灵活的排版语言,它多达900 多条指令,并且TeX 有宏功能,用户可以不断地定义自己适用的新命令来扩展TeX 系统的功能。许多人利用TeX 提供的宏定义功能对TeX 进行了二次开发,其中比较著名的有美国数学学会推荐的非常适合于数学家使用的AMS-TeX 以及适合于一般文章、报告、书籍的LaTeX 系统。大部分的TeX 系统都是免费的。Knuth 教授还公开了他的全部源程序。TeX 系统已经在数百种计算机系统上得到实现。TeX 的第一版于1978 年面世,经过了不断的改进后,1982 年版的 TeX 是一个十分稳定的版本。TeX 的另一个重要的特征就是它的输出是与设备无关的,TeX 系统输出文件为DVI 文件(DeVice Independent)。DVI 文件可以显示、打印、照排,几乎可以在所有的输出设备上输出,并且总会得到相同的结果。这说明DVI 文件中所有的元素,从页面设置到文本中字符的位置都被固定,不能更改。[参考资料]
10.URL
-
是英文Uniform Resource Locator 的缩写,即统一资源定位符,是用于完整地描述Internet 上网页和其他资源的地址的一种标识方法。URL 由一串字符组成,这些字符可以是字母,数字和特殊符号。
-
在WWW 上各种功能的服务器主机及其上的资源浩如烟海,想找到我们所需要的文件资源或服务在哪个服务器主机以及该主机上的哪个目录,必须依靠URL。因此我们也可以说URL 就是WWW 文件的参考(Reference)格式,使用者只要在浏览器上输入URL 地址,便可以得到该地址所指定的主机相关文件。这个地址可以是本地磁盘,也可以是局域网上的某一台计算机,更多的是Internet 上的站点。简单地说,URL 就是Web 地址,俗称“网址”。它最初是由蒂姆·伯纳斯-李发明用来作为万维网的地址,现在已经被万维网联盟编制为因特网标准RFC1738。[参考资料]
-
URL 由三部分组成:服务方式或协议、主机地址(域名或IP)和端口号、资源的具体地址。一般语法格式为(带方括号[]的为可选项):
protocol :// hostname[:port] / path / [;parameters][?query]#fragment
-
protocol(协议)
指定使用的传输协议,最常用的是HTTP协议,它也是目前WWW中应用最广的协议。
- file 资源是本地计算机上的文件。格式 file://
- ftp 通过FTP(文件传输协议)访问资源。格式 ftp://
- gopher 通过Gopher(一个Internet 上的信息查找系统)协议访问该资源。格式 gopher://
- http 超文本传输协议,访问的是远程网络资源,网络开发中最常用的协议。格式 http://
- https 相当于http 协议的安全版。格式 https://
- mailto 资源为电子邮件地址,通过SMTP 访问。格式 mailto://
- ed2k 通过支持ed2k(专用下载链接)协议的P2P 软件(如电驴)访问该资源。格式 ed2k://
- thunder 通过支持thunder(专用下载链接)协议的P2P 软件(如迅雷)访问该资源。格式 thunder://
-
hostname(主机名)
是指存放资源的服务器的域名系统(DNS)主机名或IP地址。有时,在主机名前也可以包含连接到服务器所需的用户名和密码(格式:username:password@hostname)。
-
port(端口号)
整数,可选,省略时使用方案的默认端口,各种传输协议都有默认的端口号,如http的默认端口号为80。如果输入时省略,则使用默认端口号。有时出于安全或其他考虑,可以在服务器上对端口进行重定义,即采用非标准端口号,此时,URL中就不能省略端口号这一项。
-
path(路径)
由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。
-
parameters(参数)
这是用于指定特殊参数的可选项。
-
query(查询)
可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。
-
fragment(信息片段)
字符串,用于指定网络资源中的片段。例如一个网页有多个名词解释,可使用fragment直接定位到某一名词解释。
-
-
“Windows主机的不区分URL大小写(大小写不敏感)的,但Linux和Unix主机是区分URL大小写的。”
-
URL 方案自身并不会造成安全威胁。用户需要小心的是:在一个时刻指向一个给定对象的URL 并不会保证一直指向这个对象,甚至也不保证因服务器上对象的移动而会在后来指向另一个不同的对象。