设为首页收藏本站
查看: 2948|回复: 0

[前端开发] 004 计算机编码

[复制链接]
  • TA的每日心情
    开心
    2024-1-13 00:31
  • 签到天数: 535 天

    [LV.9]以坛为家II

    发表于 2021-9-13 20:57:47 | 显示全部楼层 |阅读模式
    计算机编码介绍

    计算机,不能直接存储文字,存储的是编码。

    计算机只能处理二进制的数据,其它数据,比如:0-9、a-z、A-Z,这些字符,我们可以定义一套规则来表示。假如:A用110表示,B用111表示等。

    ASCII码:
    美国发布的,用1个字节(8位二进制)来表示一个字符,共可以表示2^8=256个字符。
            美国的国家语言是英语,只要能表示0-9、a-z、A-Z、特殊符号。

    ANSI编码:
    每个国家为了显示本国的语言,都对ASCII码进行了扩展。用2个字节(16位二进制)来表示一个汉字,共可以表示2^16=65536个汉字。例如:
    中国的ANSI编码是GB2312编码(简体),对6763汉字进行编码,含600多特殊字符。另外还有GBK(简体)。
    日本的ANSI编码是JIS编码。
    台湾的ANSI编码是BIG5编码(繁体)。

    GBK:
    对GB2312进行了扩展,用来显示罕见的、古汉语的汉字。现在已经收录了2.1万左右。并提供了1890个汉字码位。K的含义就是“扩展”。

    Unicode编码(统一编码):
    用4个字节(32位二进制)来表示一个字符,想法不错,但效率太低。例如,字母A用ASCII表示的话一个字节就够,可用Unicode编码的话,得用4个字节表示,造成了空间的极大浪费。A的Unicode编码是0000 0000 0000 0000 0000 0000 0100 0000

    UTF-8(Unicode Transform Format)编码:
    根据字符的不同,选择其编码的长度。比如:一个字符A用1个字节表示,一个汉字用2个字节表示。

    毫无疑问,开发中,都用**UTF-8**编码吧,准没错。

    中文能够使用的字符集两种:

    - 第一种:UTF-8。UTF-8是国际通用字库,里面涵盖了所有地球上所有人类的语言文字,比如阿拉伯文、汉语、鸟语……

    - 第二种:GBK(对GB2312进行了扩展)。gb2312 是国标,是中国的字库,里面涵盖了汉字和一些常用外文,比如日文片假名,和常见的符号。

    字库规模:  UTF-8(字很全) > gb2312(只有汉字)

    重点1:避免乱码

    我们用meta标签声明的当前这个html文档的字库,一定要和保存的文件编码类型一样,否则乱码(重点)。

    拿 sublime编辑器举例,当我们不设置的时候,sublime默认类型就是UTF-8。而一旦更改为gb2312的时候,就一定要记得设置一下sublime的保存类型: 文件→ set File Encoding to → Chinese Simplified(GBK)。VS Code 的道理一样。


    重点2:UTF-8和gb2312的比较

    保存大小:UTF-8(更臃肿、加载更慢) > gb2312 (更小巧,加载更快)

    总结:
    - UTF-8:字多,有各种国家的语言,但是保存尺寸大,文件臃肿;
    - gb2312:字少,只用中文和少数外语和符号,但是尺寸小,文件小巧。


    列出2个使用情形:

    1) 你们公司是做日本动漫的,经常出现一些日语动漫的名字,网页要使用UTF-8。如果用gb2312将无法显示日语。
    2) 你们公司就是中文网页,极度的追求网页的显示速度,要使用gb2312。如果使用UTF-8将每个汉字多一个byte,所以5000个汉字,多5kb。

    我们亲测:
    - qq网、网易、搜狐都是使用gb2312。这些公司,都追求显示速度。
    - 新华网藏语频道,使用的是UTF-8,保证字符集的数量。

    我们是怎么查看网页的编码方式的呢?在浏览器中打开网页,右键,选择“查看网页源代码”,找到meta标签中的charset属性即可。

    那么,我们为什么可以查看网页的源代码呢?因为这个打开的html网页已经存到我的临时文件夹里了,临时文件夹里的html是纯文本文件,纯文本文件自然可以查看网页的源代码。

    HTML的规范

    - HTML不区分大小写,但HTML的标签名、类名、标签属性、大部分属性值建议统一用小写。
    - HTML页面的后缀名是html或者htm(有一些系统不支持后缀名长度超过3个字符,比如dos系统)

    1、编写XHTML的规范:

    (1)所有标记元素都要正确的嵌套,不能交叉嵌套。正确写法举例:<h1><font></font></h1>

    (2)所有的标记都必须小写。

    (3)所有的标签都必须闭合。

    - 双标签:<span></span>

    - 单标签:<br>`建议写成 <br />   <hr> 建议转成 <hr />,还有<img src=“URL” />

    (4)所有的属性值必须加引号。<font  color="red"></font>

    (5)所有的属性必须有值。<hr noshade="noshade">、<input  type="radio" checked="checked" />

    (6)XHTML文档开头必须要有DTD文档类型定义。

    2、HTML的基本语法特性

    (1)HTML对换行不敏感,对tab不敏感

    HTML只在乎标签的嵌套结构,嵌套的关系。谁嵌套了谁,谁被谁嵌套了,和换行、tab无关。换不换行、tab不tab,都不影响页面的结构。

    也就是说,HTML不是依靠缩进来表示嵌套的,而是看标签的嵌套关系。但是,我们发现有良好的缩进,代码更易读。建议大家都正确缩进标签。

    百度为了追求极致的显示速度,所有HTML标签都没有换行、都没有缩进(tab),HTML和换不换行无关,标签的层次依然清晰,只不过程序员不可读了。如下图所示:



    (2)空白折叠现象

    HTML中所有的文字之间,如果有空格、换行、tab都将被折叠为一个空格显示。

    举例如下:



    (3)标签要严格封闭

    标签不封闭的结果是灾难性的。

    标签不封闭的举例如下:

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    红盟社区--红客联盟 

    Processed in 0.057638 second(s), 21 queries.

    站点统计| 举报| Archiver| 手机版| 黑屋 |   

    备案号:冀ICP备20006029号-1 Powered by HUC © 2001-2021 Comsenz Inc.

    手机扫我进入移动触屏客户端

    关注我们可获取更多热点资讯

    Honor accompaniments. theme macfee

    快速回复 返回顶部 返回列表