趣谈Unicode、Ascii、utf-8、GB2312、GBK等编码知识

趣谈Unicode、ASCII、UTF-8、GB2312、GBK等编码知识

什么是编码?

计算机是一台二进制数处理机器,它无法直接处理人类可读的字符和文本。因此,需要通过一种规范来将字符和文本转化为计算机可识别的二进制数,这个规范就叫做编码。

ASCII编码

ASCII编码,全称是American Standard Code for Information Interchange,中文名称为“美国信息互换标准代码”,同样也是一个字符编码的规范。它是由美国国家标准学会(ANSI)于1963年制定。ASCII编码主要包含128个字符,包括26个英文大写字母、26个英文小写字母、10个阿拉伯数字、标点符号(如句号、感叹号等)和控制字符。

因为ASCII编码只有128个字符,不能满足其他语言文字的需求,因此逐渐被Unicode编码取代。

Unicode编码

Unicode是一种字符集,它为所有文字、符号和表情等等定义了一个唯一的数字码点,用于表示世界上所有的字符。Unicode编码包含了目前世界上所有与语言有关的符号以及文字,是一个通用字符编码标准。

Unicode编码包括了许多子集,比如UTF-8、UTF-16、UTF-32等。其中,UTF-8编码是最广泛使用的一种Unicode编码。

UTF-8编码

UTF-8编码是一种变长字符编码,也是一种Unicode编码的实现方式,它使用1~4个字节来表示一个字符,根据字符的不同而变化。

UTF-8编码的优点在于它能够表示任意字符,包括Unicode编码中的所有字符,而且它也具有很好的兼容性,因为它能够与ASCII编码兼容。

下面是一个UTF-8编码的例子:

中 -> 11100100 10111000 10101101

GB2312编码和GBK编码

GB2312编码是一种双字节字符集,也是一种汉字编码标准。GB2312编码一共有7445个字符,包括了现代汉语中所有的常用汉字。

GBK编码是GB2312编码的扩展,它使用两个字节来表示一个字符,其中包含了更多的汉字和其他的符号。GBK编码包含了GB2312编码中的所有字符,以及新加入的18000多个汉字和符号。

示例:

你 -> GB2312编码:B1A3,GBK编码:C4EA

以上就是Unicode、ASCII、UTF-8、GB2312、GBK等编码知识的详细介绍,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:趣谈Unicode、Ascii、utf-8、GB2312、GBK等编码知识 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java使用MyBatis框架分页的5种方式

    下面就来详细讲解“Java使用MyBatis框架分页的5种方式”的完整攻略。 1、MyBatis的分页插件 MyBatis作为一款优秀的ORM框架,提供了一个非常方便的分页插件——PageHelper,只需在查询前进行设置即可。以下是使用PageHelper的示例: int pageNum = 1; //当前页码 int pageSize = 10; //每…

    Java 2023年5月20日
    00
  • CSS模块化设计——从空格谈起

    CSS模块化设计是指将CSS代码划分为独立的模块,每个模块只负责一部分样式,极大地提升了CSS代码的可维护性、可读性。本文将从空格入手,讲解CSS模块化设计的完整攻略。 第一步:空格命名法 CSS模块化设计中,空格命名法是基础。首先,我们将整个页面划分为不同的块,然后为每个块定义唯一的类名。例如,我们有一个页面包含了一个头部、一个内容块和一个侧边栏,则可以这…

    Java 2023年6月15日
    00
  • 从0开始学习大数据之java spark编程入门与项目实践

    从0开始学习大数据之Java Spark编程入门与项目实践攻略 前言 在大数据时代,数据量和数据处理的复杂性不断增加,需要更加高效和灵活的处理方式。Apache Spark作为当前最流行的大数据处理框架之一,优化了Hadoop MapReduce的不足,支持复杂的数据处理,具有高效、可扩展、易用、友好的API等特点,因此成为很多企业和个人的选择。本文将详细介…

    Java 2023年5月19日
    00
  • J2EE项目代码编写规范分享

    这里我将详细讲解一下“J2EE项目代码编写规范分享”的完整攻略。 1. 代码命名规范 在代码编写过程中,为了方便维护且易于理解,我们需要遵循一定的代码命名规范。具体来说,包括以下方面: 1.1 类名 类名应使用驼峰命名法,首字母大写。 类名应该简单明了,反应该类的作用。 示例: public class UserService { } 1.2 方法名 方法名…

    Java 2023年6月15日
    00
  • 脚本是什么 脚本有什么用的简单说明

    脚本是一种能够在计算机上自动化执行任务的代码文件。它可以用来执行一系列的操作,例如自动化网站流程、批量调用API、数据处理等。 脚本有什么用? 自动化流程: 随着业务的不断壮大,经常需要一些繁琐的重复性操作,例如清理数据、生成报表等。使用脚本可以将这些操作自动化,提高工作效率。 批量处理: 有些时候可能需要处理数万上百万的数据。手动处理这些数据非常困难,也容…

    Java 2023年6月15日
    00
  • 详解Java如何使用集合来实现一个客户信息管理系统

    详解Java如何使用集合来实现一个客户信息管理系统 1. 概述 在Java中,可以使用集合类来实现一个简单的客户信息管理系统。集合类提供了丰富的数据结构和操作方法,能够满足各种需求。 我们可以使用List或Set来存储客户信息,在程序中实现增删改查等操作。同时,我们可以利用Map来存储客户信息,实现键值对的存储,方便以后的查找和遍历。 2. 使用List实现…

    Java 2023年5月30日
    00
  • Java 数据库连接池详解及简单实例

    Java 数据库连接池详解及简单实例 数据库连接池是一种管理数据库连接的技术,它使用一组数据库连接来避免在每个请求中重复创建和释放数据库连接的开销。本文将详细介绍Java中如何使用数据库连接池技术。 什么是数据库连接池 数据库连接池是一种可以在应用程序启动时创建并保持在内存中的一组预配置的数据库连接。当应用程序需要连接到数据库时,它可以从连接池中获取一个空闲…

    Java 2023年6月16日
    00
  • 超全MyBatis动态代理详解(绝对干货)

    针对“超全MyBatis动态代理详解(绝对干货)”这个主题,我可以提供如下详细讲解。 MyBatis动态代理详解 什么是动态代理? 动态代理是Java中一种常见的设计模式,它通过在程序运行的时候动态创建一个实现某个接口的代理对象,来替代原本需要代码实现的过程。动态代理有着很多优秀的特性,比如代码简洁,易维护等等。 MyBatis动态代理是什么? MyBati…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部