字节、编码、进制、位的理解

时间:2022-05-18 22:43:07

前言

入职已经一年多了,对于字节、位、流的理解还是很模糊。所以在这里要弄清楚这些东西。

目录

  • 进制的理解
  • 位的理解
  • 字节的理解
  • 编码的理解

进制的理解

进位计数制,是人为定义的带进位的计数方法,对于任何一种进制—X进制,就表示每一位置上的数运算时都是逢X进一位。

计算机中所有的数据都被存储为一连串的二进制信息(0和1)。为了更加方便的表达计算机的存储的数字,计算机使用人员使用十六进制来记录。便于书写、记录。

常用的进制
二进制 八进制 十进制 十六进制
01010011 123 53 83

以上四个等同,8位二进制数字可以转换成2位十六进制数字。这个要记住。

位的理解(bit)

位:”位(bit)”是电子计算机中最小的数据单位。每一位的状态只能是0或1。
bit表示字,一个二进制位,byte表示字节1字节=8bit(字)

字节的理解(Byte)

字节:8个二进制位构成1个”字节(Byte)”,它是存储空间的基本计量单位。
1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。

字节用来存储空间的基本计量单位,就和货币中的分一样。字节一般用来做换算
1B = 8bit、1KB=1024B 、1MB=1024KB

编码的理解

编码是信息从一种形式或格式转换为另一种形式的过程,在计算机硬件中,编码(coding)是指代码来表示各组数据资料。通俗的讲,计算机中的二进制要变成文字、信息就要通过编码过程。

编码的种类
  • 字符编码
  • 文字编码
  • 语义编码
  • 电子编码
  • PCM编码
  • 神经编码
  • 记忆编码
  • 加密
  • 译码
常用的编码

从byte到char 必须有编码,常用的有ASCII、ISO8859-1、GB2312、GBK、UTF-8、UTF-16等


  • ASCII码

共有128个,用一个字节的低7位表示。是美国信息交换标准代码,基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。

  • ISO8859-1

    通常叫做Latin-1。Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符。

  • GB2312

    标准中文字符集。

  • UTF-8

    UNICODE 的一种变长字符编码,即 RFC 3629。简单的说——大字符集。可以解决多种语言文本显示问题,从而实现应用国际化和本地化。

  • GBK

    全称《汉字内码扩展规范》

  • Unicode

    (统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
    随着计算机的流行,使用计算机的人越来越多,不仅限于美国,整个世界都在使用,这个时候ASCII编码的问题就凸现出来了。ASCII编码只占用1个字节,最多只能表示256个字符,我大中华区10万汉字怎么表示,日语韩语拉丁语怎么表示?所以90年代又制定了一套新的规范,将全世界范围内的字符统一使用一种方式在计算机中表示,这就是Unicode编码(Unique Code),也称统一码、万国码。Unicode 是一个很大的集合,现在的规模可以容纳100多万个符号,每个符号的对应的二进制都不一样。Unicode 规定可以使用多个字节表示一个字符,例如 a 的编码为 01100001,一个字节就够了,”好“的编码为 01011001 01111101,需要两个字节。为了兼容ASCII,Unicode 规定前0~127个字符与ASCII是一样的,不一样的只是128~255的这一段。

  • base64编码

    Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。

  • 索引 对应字符 索引 对应字符 索引 对应字符 索引 对应字符
    0-25 A-Z 26-51 a-z 52-61 0-9 62-63 +/

    base64常用于在HTTP环境下传递较长的标识信息