全角半角与常见编码格式(ASCll、ANSI、GB2312、GBK、Unicode、UTF-8/UTF-16)总结

在学习常见编码格式前先对一些基础知识进行总结:

1、计算机数据存储单位
位(bit):最基本的概念。计算机中由于只有逻辑0和逻辑1的存在,因此很多东西、动作、数字都要表示为一串二进制的字码。其中每一个逻辑0或者1便是一个位。
字节(byte):由8个位(bit)组成的一个单元,即8bit=1byte。具体应用如ASCII字符,便是运用字节来记录表示字母和一些符号。例如字符A便用 “0100 0001”来表示。
字:16个位为一个字,它代表计算机处理指令或数据的二进制数位数,是计算机进行数据存储和数据处理的运算的单位。通常称16位是一个字,而32位则是一个双字,64位是两个双字。
2、全角半角
通常的英文字母、数字键、符号键都是半角的。在系统内部,以上三种字符是作为基本代码处理的,所以用户输入命令和参数时一般都使用半角。
汉语、日语、及朝鲜文等文字语言的字库量远大于256个,所以改用两个字节来储存。同时,也是因为中日韩等文字的书写习惯,如果统一使用全角字符的话,排列起来也显得整齐。
全角占2字节,半角占1字节。而不管是半角还是全角,汉字都还是要占两个字节。
Ascll中127以下的叫半角,127以上的是全角(并且每两位用来表示一个汉字)
3、常见编码格式
ASCll码(American Standard Code for Information Interchange):美国信息交换标准码
最开始前127位用来存储英文文字,包括字母符号等。后续扩展后从128-255的字符称为扩展字符集。
ANSI:对ASCll码的扩展
是默认的编码方式。对于英文文件是ASCII编码,对于简体中文文件是GB2312编码(只针对Windows简体中文版,如果是繁体中文版会采用Big5码)
GB2312:对ASCll的中文扩展
中国开始使用计算机是由于没有可以利用的字节状态来表示汉字,因此国内规定小于127的字符含义不变,大于127的两个字符连在一起时表示为一个汉字。前面的一个字节(高字节)从0xA1用到 0xF7,后面一个字节(低字节)从0xA1到0xFE。此外这些编码还包括了数学符号、日文假名等。
此外还根据此衍生了全角半角的含义:在 ASCII 里本来就有的数字、标点、字母都重新编了两个字节长的编码,这就是常说的”全角”字符,而原来在127号以下的那些就叫”半角”字符了。
GBK标准:包括GB2312中的所有内容,是对其的扩展
因为汉字太多不够用,以及加上了少数民族的文字。
Unicode:ISO(国际标准化组织)对各个地区的编码进行统一规范
ISO规定必须用两个字节,也就是16位来统一表示所有的字符,对于ASCll里的半角字符其原编码不变,只是将其长度由原来的8位扩展为16位,而其他文化和语言的字符则全部重新统一编码。由于”半角”英文符号只需要用到低8位,所以其高 8位永远是0,因此这种编码格式在保存英文文本时会多浪费一倍的空间。
UTF-8与UTF-16:Unicode的两个标准,分别每次传输8个位/16个位
UTF-8 等编码体积比较大,占电脑空间比较多,如果面向的使用人群绝大部分都是中国人,用GBK等编码也可以。但一般还是推荐所有的网页使用统一编码:UTF-8。
————————————————
版权声明:本文为CSDN博主「ria_zhou」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_46855648/article/details/109178969

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值