二进制编码
Posted rxmind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二进制编码相关的知识,希望对你有一定的参考价值。
前言:
现代计算机都是用0和1组成的二进制来表示所有信息。前面所讲到的机器码也是使用二进制表示;其他诸如字符串、整数、浮点数等也都是使用二进制保存。具体细节需要我们了解一下。
一、二进制和逢二进一
二进制,逢二进一,常用的十进制通过短除法即可转换为二进制数,这样的表示方式称为原码表示法。为了区分正负数,我们又将数字首位指定为符号位,1表示负数,0表示正数。实际当中我们使用补码表示数字,用补码表示二进制负数的优点有:第一,符号位不会白白浪费,第二,补码表示的负数相加不需要做特殊处理,因此我们只需要一种电路就可以可以完成正负数的加减运算。
二、字符串表示法
ASCII码是使用最早的字符串编码标准了,它使用8位二进制数所表示的128个数对应到128个不同的字符上。不管是整数还是浮点数,使用二进制序列化会比存储文本省下很多空间。
随着计算机的广泛应用许多英语以外的语言字符都有编码的需要,此时ASCII是不够用的,因此很多的语言对应的字符集被开发出来了。如大名鼎鼎的Unicode(它可以表示150种语言的14万个不同字符),它可以被utf-8、utf-16、utf-32这样的字符编码方式实现编码。
对于相同的字符,使用不同的字符编码得到的二进制结果也是不同的,因此解码时如果使用和编码时不同的字符编码就会发生所谓的乱码。
以上是关于二进制编码的主要内容,如果未能解决你的问题,请参考以下文章