当前位置: 首页 > news >正文

网站建设手机登录密码是什么啊网络安全培训最强的机构

网站建设手机登录密码是什么啊,网络安全培训最强的机构,网站开发客户需求文档,昆明网站建设建站模板1 字符的编码方式 1.1 ASCII 是“American Standard Code for Information Interchange”的缩写,美国信息交换标准代码。电脑毕竟是西方人发明的,他们常用字母就 26 个,区分大小写、加上标点符号也没超过 127 个,每个字符用一个字…

 1 字符的编码方式

1.1 ASCII

        是“American Standard Code for Information Interchange”的缩写,美国信息交换标准代码。电脑毕竟是西方人发明的,他们常用字母就 26 个,区分大小写、加上标点符号也没超过 127 个,每个字符用一个字节来表示就足够了。**一个字节的 7 位就可以表示 128 个数值,在 ASCII 码中最高位永远是 0**。

 1.2 ANSI

        ASNI 是 ASCII 的扩展,向下包含 ASCII。对于 ASCII 字符仍以一个字节来表示,对于非 ASCII 字符则使用 2 字节来表示,**对于一个字符 bit7 是0则为ASCII, bit7 是1则为非ASCII,会用两个字节来表示一个非ASCII字符**。并没有固定的 ASNI 编码,它跟“本地化”(locale)密切相关。比如在中国大陆地区,**ANSI 的默认编码是 GB2312**;在港澳台地区默认编码是 BIG5。以数值“0xd0d6”为例,对于 GB2312 编码它表示“中”;对于 BIG5 编码它表示“笢”。所以对于 ANSI 编码的 TXT 文件,如果你打开它发现乱码,那么还得再次细分它的具体编码。
        使用 Notepad 打开后,选择不同的**编码**(或称为**字符集**),有不一样的显示,如下:

        这仅仅是在中国地区就出现这些不兼容的问题。对于不同国家,它们默认的ANSI 编码各不相同,所以同一个 TXT 文件在不同国家就很有可能出现乱码。根本的原理在于没有“统一的编码”,那解决方法自然就是使用“统一的编码”:UNICODE

1.3 UNICODAE

        在 ANSI 标准中,很多种文字都有自己的编码标准,汉字简体字有 GB2312、繁体字BIG5,这难免同一个数值对应不同字符。比如数值“0xd0d6”,对于GB2312 编码它表示“中”;对于 BIG5 编码它表示“笢”。这造成了使用 ANSI 编码保存的文件,不适合跨地区交流。
        UNICODE 编码就是解决这类问题:对于地球上任意一个字符,都给它一个唯一的数值。
        UNICODE 仍然向下兼容 ASCII,但是对于其他字符会有对应的数值,比如对于“中”、“笢”,它们的数值分别是:0x4e2d、0x7b22UNICODE 中的数值范围是 0x0000 至 0x10FFFF,有 1,114,111 即 100 多万个数值,可以表示 100 多万个字符,足够地球人使用了。

2.UNICODAE编码实现

        所谓编码实现,就是对于一个数值,怎么表示它。这很奇怪,数值还能怎么 表示?比如“中”的 UNICODE 值是 0x4e2d,在 TXT 文件中怎么表示 0x4e2d ? 直接写入 0x4e2d ?不行!
        比如在 TXT 文件中写入 2 字节数据“ 0x2d 0x4e” ,它可以用来表示“中” 字吗?不能!它们对应 ASCII 字符“ -N ”。
        问题的关键在于:怎么断字。在 TXT 文件中, 2 字节数据“ 0x2d 0x4e” 是作 为一个整体看待,还是拆成 2 部分看待?
        所以,需要用一定的技巧来表示数值,这就对应不同的编码实现。
怎么表示一个 UNICODE 数值?

2.1使用 3 个字节表示一个 UNICODE

        不,太浪费。UNICODE 的最大值是 0x10FFFF,那使用 3 个字节来表示一个 UNICODE 数
值?这当然是很省事的方法,但是会造成浪费,比如字符 A UNICOCDE 值是
0x41 ,难道也用“ 0x41 0x00 0x00 ”这 3 个字节来表示?

2.2 UCS-2 Little endian/UTF-16 LE  

        每个 UNICODE 值用 3 字节来表示有点浪费,那只用 2 字节呢?它可以表示 2^16=65536 个字符,全世界常用的字符都可以表示了。
        Little endian 表示小字节序,数值中权重低的字节放在前面,比如字符 “A 中”在 TXT 文件中的数值如下,其中的“ A ”使用“ 0x41 0x00 ”两字节表 示;“中”使用“0x2d 0x4e ”两字节表示。文件开头的“ 0xff 0xfe ”表示“ UTF- 16 LE”。

2.3UCS-2 Big endian/UTF-16 BE

        Big endian 表示大字节序,数值中权重低的字节放在后面,比如字符“ ab 中”在 TXT 文件中的数值如下,其中的“ A ”使用“ 0x00 0x41 ”两字节表示; “中”使用“0x4e 0x2d ”两字节表示。文件开头的“ 0xfe 0xff ”表示“ UTF- 16 BE”。

2.4UTF8

        在上面 2 种方法中,每一个 UNICODE 使用 2 字节来表示,这有 3 个缺点: 表示的字符数量有限、对于 ASCII 字符有空间浪费、如果文件中有某个字节丢失,这会使得后面所有字符都因为错位而无法显示。 使用 UTF8 可以解决上述所有问题。 UTF8 是变长的编码方法,有 2 UTF8
格式的文件:带有头部、不带头部。先举例,
        对于其中的 ASCII 字符,在 UTF8 文件中直接用其 ASCII 码来表示,比如上图中的 0x61 表示字符 a 0x62 表示字符 b 。上图中的 3 个字节“ 0xe4 0xb8 0xad”表示的数值是 0x4e2d ,对应“中”的 UNICODE 码。
        对于非 ASCII 字符,使用变长的编码:每一个字节的高位都自带长度信息。 请看图
        上图中,0xe4 的二进制是“ 11100100 ”,高位有 3 1 ,表示从当前字节起 有 3 字节参与表示 UNICODE
        0xb8 的二进制是“ 10111000 ”,高位有 1 1 ,表示从当前字节起有 1 字节 参与表示 UNICODE
        0xad 的二进制是“ 10101101 ”,高位有 1 1 ,表示从当前字节起有 1 字节参与表示 UNICODE
        除去高位的“1110 ”、“ 10 ”、“ 10 ”后,剩下的二进制数组合起来得到 “01001110001101 ”,它就是 0x4e2d ,即“中”的 UNICODE 值。
        使用 UTF8 编码时,即使 TXT 文件中丢失了某些数据,也只会影响到当前字符的显示,后面的字符不受影响。
http://www.hkea.cn/news/857020/

相关文章:

  • apicloud官网下载seo关键词优化排名公司
  • 上海网站制作福州百度关键字优化精灵
  • 做uml图网站百度账号快速注册入口
  • 广西梧州南京 seo 价格
  • 网站警察备案seo关键词优化平台
  • 网站开发设计实训 报告惠州网站建设
  • 网站开发的原理山西免费网站关键词优化排名
  • 石家庄网站建设全包免费推广网站2024
  • 阿里云网站备案时间无锡seo网站管理
  • 景点介绍网站模板重庆百度关键词推广
  • 做亚马逊网站费用吗曲靖新闻今日头条
  • bing 网站管理员2023今日新闻头条
  • 深圳市做网站前十强百度一下搜索网页
  • 做执法设备有哪些网站国家免费培训学校
  • 顺德乐从有做阿里巴巴的网站吗杭州网站设计
  • 做英文网站 用阿里服务器行吗b2b网站推广排名
  • 搭建网站做淘宝客网赌怎么推广拉客户
  • 网站建设前台与后台最新技术2021最新免费的推广引流软件
  • 做网站基本语言淘宝如何提升关键词排名
  • wordpress怎样分类目录添加标签seo文章范文
  • 订阅号可以做网站吗南宁seo外包服务商
  • 邢台哪儿做网站便宜宁波 seo排名公司
  • 深圳网站优化咨询网上广告怎么推广
  • 网站右击无效是怎么做的网络营销产品
  • 中宣部网站政治建设网站服务器是什么意思
  • 淮安网站定制徐州seo外包公司
  • 嘉兴类网站系统总部网站建设技术解决方案
  • 做网站的教科书外包网络推广公司推广网站
  • 模板名字 wordpress优化大师如何删掉多余的学生
  • 3d网站建设制作百度关键词优化手段