开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 498|回复: 4
收起左侧

[分享] 编码 ASCII、Unicode、UTF-8、ANSI、USC2等简介汇总

[复制链接]
结帖率:78% (7/9)
发表于 2024-7-4 09:59:18 | 显示全部楼层 |阅读模式   辽宁省沈阳市
本帖最后由 吃柠檬的包子 于 2024-7-4 11:17 编辑

一、ASCII编码(8位编码 通用的计算机编码标准 只能表示英文字母加符号等)
来历:
  • ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是最初由美国国家标准局(ANSI)制定的,主要用于显示现代英语和其他西欧语言的字符。
  • 它起始于20世纪50年代后期,并在1967年定案,成为不同计算机在相互通信时共同遵守的西文字符编码标准。
特点:
  • ASCII编码使用7位二进制数(扩展ASCII码使用8位)来表示128个或256个不同的字符。
  • 它包括大小写英文字母、数字、标点符号、控制字符等。

二、Unicode编码(万国码 16位 兼容好 支持多语言,但是比ASCII编码多一倍占用,不仅程序占用更大存储,参数传输也会更慢)
来历:
  • 随着计算机技术的发展,ASCII编码无法满足多语言环境下字符表示的需求,尤其是无法表示中文、日文、韩文等非西欧语言的字符。
  • 因此,Unicode(统一码、万国码、单一码)作为一种可以容纳世界上几乎所有文字和符号的编码方案应运而生。
  • Unicode由统一码联盟(Unicode Consortium)开发,它致力于实现字符编码的标准化和统一化。
特点:
  • Unicode为每个字符分配了一个唯一的数字编号,称为码点(code point)。
  • 它目前包含了超过100万个字符,涵盖了各种语言的文字、符号等。
  • Unicode有多种实现方式,包括UTF-8、UTF-16、UTF-32等。

三、UTF-8编码  (融合ASCII + Unicode编码 8位-24位不等  大多数情况占用比Unicode编码小 ,兼容好,占用一般
来历:
  • UTF-8(8-bit Unicode Transformation Format)是Unicode的一种实现方式,它使用1到4个字节来表示一个Unicode码点。
  • UTF-8的设计初衷是为了兼容ASCII编码,同时又能表示Unicode中的所有字符。
特点:
  • 对于ASCII字符(即码点在U+0000到U+007F之间的字符),UTF-8编码与ASCII编码完全相同,只使用1个字节表示。
  • 对于其他Unicode字符,UTF-8编码会根据码点的大小使用1到4个字节进行表示。
  • 这种变长编码方式使得UTF-8在表示英文字符时非常高效,同时又能兼容表示各种语言的字符。

四、ANSI编码()
来历:
  • ANSI编码的全称是American National Standards Institute(美国国家标准协会)编码,但实际上ANSI编码并不是由ANSI组织制定的单一编码标准,而是指在不同国家和地区根据各自标准制定的编码方式。
  • 这些编码方式包括GB2312(简体中文)、GBK(扩展的GB2312,也是简体中文的ANSI编码)、Big5(繁体中文)、Shift_JIS(日文)等。
特点:
  • ANSI编码通常使用1到4个字节来表示一个字符,具体取决于所使用的编码标准。
  • 对于0x00到0x7F之间的字符(主要是ASCII字符),ANSI编码与ASCII编码相同,即使用1个字节表示。
  • 而对于其他字符,如汉字等,则通常使用2个字节或更多字节来表示。
  • 不同的ANSI编码之间互不兼容,无法将两种语言的文字存储在同一段ANSI编码的文本中。

五、USC2编码 ( 数字2代表使用两个8位也就是16位的占用
来历:
  • USC2编码是Universal Character Set(通用字符集)的一种编码方式,主要用于表示Unicode字符。
  • 需要注意的是,USC2这个术语在现代编码标准中并不常见,可能是对Unicode编码的一种误解或旧称。实际上,更常见的术语是UCS-2(Universal Character Set coded in 2 octets),它是Unicode编码的一种早期实现方式。
特点:
  • UCS-2是一种固定长度的编码方式,每个字符都使用2个字节(即16位)来表示。
  • 它能够表示Unicode标准中的前65536个字符(即U+0000到U+FFFF范围内的字符),但对于Unicode标准中超出这个范围的字符则无法表示。
  • UCS-2编码在处理英文和西欧语言时非常高效,但在处理需要更多字符空间的语言(如中文、日文、韩文等)时则显得不够灵活。

六、Base64编码
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于它的设计初衷是为了在电子邮件等只支持ASCII字符的系统中传输二进制数据(如图片、音频等),因此它使用A-Z、a-z、0-9、+、/这64个字符(加上“=”用于填充)来表示二进制数据。Base64编码后的数据长度会比原数据增加约1/3,因为它将每3个字节的二进制数据转换为4个Base64字符。这种编码方式广泛用于互联网中处理二进制数据,如MIME协议中的电子邮件附件、在HTTP中传输的加密信息等。

七、GB2312编码(GB代表国标 是中国设计的计算机中的汉字编码)
GB2312是中国国家标准总局于1980年发布的一套国家标准,标准号为GB 2312—1980,又称为GB 2312–80、GB0。它是为了在计算机中处理汉字而设计的一种字符编码方式。GB2312编码采用双字节(即16位)来表示一个汉字或字符,其编码范围是从0xA1A1到0xFEFE。整个字符集被分为94个区,每个区有94个位,每个区位上只有一个字符,因此可用所在的区和位来对汉字进行编码,这种编码方式称为区位码。GB2312字符集共收入汉字6763个和非汉字图形字符682个,基本覆盖了当时中国大陆常用的汉字和字符。

八、URL编码(也称为百分比编码)
来历:
URL编码是一种用于在URL(统一资源定位符)中传输信息时,将非ASCII字符或特殊字符转换为一种格式的方法。这种方法允许URL只包含ASCII字符集中的字符,从而避免了在传输过程中可能出现的解析错误或安全问题。URL编码最初是为了解决在Web环境中,URL字符串中可能包含的特殊字符(如空格、斜杠、问号等)与URL本身的分隔符或保留字符冲突的问题。
特点:
  • ASCII兼容性:URL编码确保所有传输的字符都可以被转换为ASCII字符集中的字符,这使得URL可以在基于ASCII的协议(如HTTP)中安全地传输。
  • 特殊字符处理:对于URL中的特殊字符(如空格、&、%、#等),URL编码使用%后跟两位十六进制数的形式来表示。例如,空格被编码为%20,&被编码为%26。
  • 可逆性:URL编码是可逆的,即编码后的字符串可以通过解码过程恢复到原始形式,这保证了信息的完整性。
  • 广泛应用:URL编码被广泛应用于Web开发中,特别是在构建查询字符串、表单数据提交等场景中。它是Web标准的一部分,并被广泛支持和使用。
  • 安全性:虽然URL编码本身并不提供加密或安全性保障,但它有助于防止某些类型的注入攻击(如跨站脚本攻击XSS),因为它限制了可以在URL中传输的字符集。然而,对于敏感或私密信息,应使用更安全的加密方法(如HTTPS)来保护。

特点:包括ASCII兼容性、特殊字符处理、可逆性、广泛应用以及在一定程度上提高安全性。

九、JavaScript
来历:
JavaScript(简称JS)是一种高级的、解释执行的编程语言,它最初由Netscape的Brendan Eich设计,用于为网页添加动态内容和交互性。JavaScript是一种基于原型的、多范式的脚本语言,它支持面向对象、命令式和声明式(如函数式编程)风格。随着Web技术的发展,JavaScript已经成为了Web开发的核心技术之一,广泛应用于前端开发、后端开发(通过Node.js等平台)以及移动应用开发等领域。

特点:JavaScript是一种功能强大的编程语言,具有动态类型、面向对象、函数式编程、事件驱动、跨平台、丰富的API以及异步编程等特点。这些特点使得JavaScript在Web开发、移动应用开发、桌面应用开发等领域中发挥着重要作用。

评分

参与人数 1精币 +1 收起 理由
Grnm + 1 开源精神必须支持~

查看全部评分

本帖被以下淘专辑推荐:

  • · tips|主题: 19, 订阅: 1
结帖率:100% (1/1)

签到天数: 14 天

发表于 2 小时前 高大上手机用户 | 显示全部楼层   天津市天津市
学习了感谢
回复 支持 反对

使用道具 举报

结帖率:95% (41/43)

签到天数: 16 天

发表于 2024-8-30 08:36:21 | 显示全部楼层   湖北省荆门市
干货居然没人顶。
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 19 天

发表于 2024-8-23 14:32:09 | 显示全部楼层   山东省烟台市

学习了一下
回复 支持 反对

使用道具 举报

结帖率:33% (1/3)

签到天数: 18 天

发表于 2024-7-4 10:09:13 | 显示全部楼层   上海市上海市
学习了一下
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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