字符编码

2024-05-12 13:45:02

当谈论字符编码时,我们常常会听到一些术语,比如ASCII、Unicode、UTF-8、GB2312等。这些术语代表了不同的字符编码方案,它们在计算机科学和软件开发中扮演着重要的角色。让我们逐一了解它们的含义以及它们之间的关系。

ASCII

ASCII是一种最早的字符编码方案,最初由美国国家标准协会(ANSI)于1963年发布。ASCII编码使用7位来表示字符(最高位是0),共包括128个字符,其中包括英文字母、数字、标点符号和控制字符。ASCII编码被广泛应用于计算机系统中,是许多其他字符编码方案的基础。

Unicode

然而,随着计算机技术的发展和全球化的兴起,ASCII编码的局限性变得越来越明显,因为它只能表示有限的字符集。因此,Unicode应运而生,旨在解决字符集的全球化问题。Unicode是一种字符编码方案,为世界上几乎每种语言中的每个字符提供了统一的字符编码。

The Unicode Standard refers to the standard character set that represents all natural language characters. Unicode can encode up to roughly 1.1 million characters, allowing it to support all of the world’s languages and scripts in a single, universal standard.

Unicode可以编码大约110万个字符。

Unicode 15.0 adds 4,489 characters, for a total of 149,186 characters. These additions include 2 new scripts, for a total of 161 scripts, along with 20 new emoji characters, and 4,193 CJK (Chinese, Japanese, and Korean) ideographs.

Unicode 15.0增加了4489个字符,总共149186个字符。

Unicode字符编码表:https://www.unicode.org/charts/index.html

Unicode基本汉字的编码范围位于十六进制的0x4E00至0x9FA5,即十进制的19968至40869,U+4E00表示

UTF-8

尽管Unicode是一个强大的字符编码标准,但它也存在一些问题。其中一个问题是存储效率:使用16位来表示每个字符可能会占用较多的存储空间,特别是对于仅包含ASCII字符的文本。为了解决这个问题,UTF-8应运而生。UTF-8是一种针对Unicode的可变长度字符编码方案,它能够根据字符的实际需求灵活地使用1到4个字节来表示一个字符。对于英文字符和常见符号,UTF-8与ASCII完全兼容,因此在处理纯英文文本时,UTF-8编码的存储效率与ASCII相同。

注意,UTF-8和Unicode的关系是,UTF-8是Unicode的实现方式之一。

的Unicode码是4E00,UTF-8编码是E4B880

在今天的软件开发中,UTF-8已经成为了事实上的标准,几乎所有的操作系统、编程语言和网络协议都已经广泛支持了UTF-8编码。这也使得开发人员不再需要过多考虑字符编码的问题,从而更加专注于应用程序的功能实现。

GB2312

GB意指国标,GB2312是最早一版的中文编码,该标准用双字节表示一个汉字。在GB2312中收录了6763个简体汉字、682个符号,已经囊括了生活中最常用的所有汉字。

表情
Ctrl + Enter