计算机字符与编码总结

本文总结了计算机中的字符、字节、字节序、系统内码和编码概念,详细介绍了ASCII、Unicode、UTF-8、UTF-16、UTF-32等编码方式的工作原理和特点,并探讨了它们在不同场景下的应用,如存储效率、处理速度和字节顺序问题。
摘要由CSDN通过智能技术生成
基本概念

1. 字符、字节、字节序与系统内码
  • 字符:抽象的最小文本单位,在视觉上看到的记号。例如,'2'、'字'、'a'、'$'、'?'
  • 字节:一个8位二进制数,是计算机中存储数据的单元,有很具体的存储空间。例如,0x00、0x1A、0xF2
  • 字节序:分为Big Endian和Little Endian,不同的处理器可能不相同。当一个字符需要多个字节来存储时,高位字节存储在低地址的方式属于Big Endian,反之则属于Little Endian
  • 系统内码:指计算机系统中使用的二进制字符编码,是字符在计算机中的存储形式。系统内码包括ASCII、ANSI编码和UNICODE三大类,其出现时间依次递进

2. 字符集和编码
  • 字符集:是指多个字符的集合,属于人为制定的一种标准。不同的字符集包含的字符及其数量是不相同的,常见字符集有ASCII、ISO8859、GB2312、BIG5、GB18030、Unicode
  • 编码:是指以二进制的数字来对应字符集中的字符,是一种从字符到字节的映射,规定了每个“字符”用一个字节还是多个字节存储,用哪些字节存储。将字符进行编码有利于计算机系统对字符进行传输、处理和显示等相关操作,是信息进行交流的基础。
注意,“字符集”和“编码”一般都是同时制定的。平常所说的“字符集”,例如ASCII和大多数MBCS( multi-byte character set)等,除了有“字符的集合”这层含义外,同时也包含了“编码”的含义,而Unicode字符集则有多种编码方式,如UTF-8、UTF-16等。

3. 字符编码发展阶段:

从计算机对多国语言的支持角度划分为:

  系统内码 说明 系统
阶段一 ASCII 计算机刚开始只支持英语,其它语言不能够在计算机上存储和显示。 英文 DOS
阶段二 ANSI编码
(本地化)
为使计算机支持更多语言,通常使用 0x80~0xFF 范围的 2 个字节来表示 1 个字符。例如汉字 '中' 在中文操作系统中,使用 [0xD6,0xD0] 这两个字节存储。
不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。
不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。
中文 DOS,中文 Windows 95/98,日文 Windows 95/98
阶段三 UNICODE
(国际化)
为了使国际间信息交流更加方便,国际组织制定了 UNICODE 字符集,为各种语言中的每一个字符设定了统一并且唯一的数字编号,以满足跨语言、跨平台进行文本转换、处理的要求。 Windows NT/2000/XP,Linux,Java

在 ASCII 阶段, 每个字符 使用一个字节表示一个字符,这种方式存放的字符称为 单字节字符集 (SBCS,single -byte character set )。例如,"Bob123" 在内存中为:
42 6F 62 31 32 33 00
           
B o b 1 2 3 \0

在ANSI 编码阶段,每个字符使用一个字节或多个字节来表示,这种方式存放的字符称为

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值