字符编码ASCII、Unicode、UTF-8

今天在看一些面试题目的时候突然看到关于字符编码的问题,想到自己也会经常遇到这个问题,每次都是去网上直接搜索答案,并不明白其中的原理,这次就彻底的花了一下午的时间去了解关于字符编码的问题,看完之后觉得收获颇多,这篇文章就来简单讲解下我的学习过程,希望能帮助到大家。

一、ASCII

ASCII(American Standard Code Information Interchange,美国信息交换标准代码),是基于拉丁字母的一套计算机编码系统,它主要用于显示现代英语。(解释来源于wiki

ASCII是一种单字节编码的编码系统,迄今为止它定义了128个字符,我们知道单字节总共有八位(ox00-oxFF),但128个字符只会用到七位,我们就规定最前面一位为0,下图中截取了部分ASCII编码的映射关系

image-20181005113341383

部分可显字符

缺点:ASCII编码只能表示128个字符,那对于一些其他国家的语言,比如法语字母上方是有标注的,于是一些欧洲国家就决定使用空闲下来的最高位编码纳入新的符号,比图法语中à的编码为129,这样一来这些欧洲国家使用的ASCII就可以表示256个字符,这样就衍生出了EASCIIExtended ASCII,延伸美国标准信息交换码),EASCII码比ASCII码扩充出来的符号包括表格符号、计算符号、希腊字母和特殊的拉丁符号。

但是这样又出现了新的问题,不同的国家用的语言可能不同。因此256个字符来编码肯定是不够的,至于亚洲国家来说更是如此,光汉字就有1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值