底层数据结构
来源:互联网 发布:淘宝店铺怎么添加模块 编辑:程序博客网 时间:2024/05/29 02:48
二进制:
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统。
======================================================================================================
比特:
两个概念
1) 计算机专业术语,是信息量单位,是由英文BIT音译而来。二进制数的一位所包含的信息就是一比特,如二进制数0100就是4比特。
2)二进制数字中的位,信息量的度量单位,为信息量的最小单位。数字化音响中用电脉冲表达音频信号,“1”代表有脉冲,“0”代表脉冲间隔。如果波形上每个点的信息用四位一组的代码表示,则称4比特,比特数越高,表达模拟信号就越精确,对音频信号还原能力越强。
计算机中的位
二进制数系统中,每个0或1就是一个位(bit),位是数据存储的最小单位。其中8bit就称为一个字节(Byte)。计算机中的CPU位数指的是CPU一次能处理的最大位数。例如32位计算机的CPU一次最多能处理32位数据。
======================================================================================================
字节:
字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制,也就是一个字节等于8个比特位!
字节(Byte 发音:/‘bait/):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。
在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。
符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小
也就是说:在ASCII码中,英文字符和符号都占一个字节,中文汉字和符号都占两个字节。
一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值:0 最大值:255 。如一个ASCII码就是一个字节,此类单位的换算为:
1KB(Kilobyte 千字节)=1024B,
1MB (Megabyte 兆字节 简称“兆”)=1024KB,
1GB=1024MB
======================================================================================================
unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。码位就是可以分配给字符的数字。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。
在Unicode中:汉字“字”对应的数字是23383。
=====================================================================================================
utf-8
UTF-8编码的最大长度是4个字节。从上表可以看出,4字节模板有21个x,即可以容纳21位二进制数字。Unicode的最大码位0x10FFFF也只有21位。
UTF-8以字节为单位对Unicode进行编码。即unicode是对每个位进行编码,utf-8是对8个比特位进行编码,因此utf-8(8个比特)
从Unicode到UTF-8的编码方式如下:
Unicode编码(16进制) ║ UTF-8 字节流(二进制)
000000 - 00007F ║ 0xxxxxxx
000080 - 0007FF ║ 110xxxxx 10xxxxxx
000800 - 00FFFF ║ 1110xxxx 10xxxxxx 10xxxxxx010000 - 10FFFF ║ 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节,而如果UNICODE字符由4个字节表示,则编码成UTF-8可能需要6个字节。
=========================================================================================================
GBK
用双字节表示汉字
- 底层数据结构
- Objective-C底层数据结构
- STL 底层数据结构
- 底层、内存、数据结构、算法
- Objective-C底层数据结构
- ios 底层数据结构
- Objective-C底层数据结构
- STL容器底层数据结构
- STL底层数据结构实现
- ios 底层数据结构
- Redis底层数据结构总结
- HashSet:底层数据结构是哈希表
- C++底层数据结构实现
- STL底层数据结构
- Objective-C底层数据结构
- OC-底层数据结构
- java HashMap底层数据结构
- MySQL索引底层数据结构
- windows 批处理文件的编写
- [膜拜迪恩]谈平板能干什么?
- signal_pending与返回-ERESTARTSYS
- MFC绘图 (孙鑫老师 第四讲 MFC消息映射机制和CDC类的使用 参考文章)
- 获取指定USB设备的VID PID和SerialNumber
- 底层数据结构
- ASP.NET POST模拟登陆
- TCP/IP 参考模型中传输层上的协议--TCP/UDP
- jquery 获取父窗口的元素 父窗口 子窗口 各窗口关系
- http content-type
- J2EE的13个标准
- SQL 分组 统计 按 类分组 统计 子类 显示 类名
- USB OTG功能是什么意思?
- 不是书评 :《我是一只IT小小鸟》