【前言】
关于字节,讲课的时候漏掉了,,,
学计算机的同学应该很清楚相关的知识,不过我还是要在这里记录下,免得以后再漏掉
【详解】
咱们先从最基础开始讲,单位由小到大
(1)Bit-------------------位/比特
计算机所处理的数据信息,都是以二进制数编码表示的。其二进制数"0"和"1"是构成信息的最小单位,称作"位"或"比特(bit)"。所以说起比特,我们应该首先想到0和1二进制数编码
(2)Byte------------------字节
在计算机中,由若干个位组成一个"字节"(byte)。字节由多少个位组成,取决于计算机的自身结构。通常,微型计算机的CPU多用8位组成一个字节,用以表示一个字符的代码,构成一个字节的8个位被看作一个整体。字节(Byte)是存储信息的基本单位 。
(3)KB-------------------千字节
(4)MB------------------兆字节
(5)GB------------------吉字节
(6)TB------------------太字节
【重点】
(1)区分基本单位
①二进制数"0"和"1"是构成信息的最小单位
②字节(Byte)是存储信息的基本单位,数据存储是以10进制表示,数据传输是以2进制表示的
这点大多数经常容易记混。
(2)顺序
Bit-----------B(Byte)------KB----------MB-----------GB------------TB
位/比特-------字节---------千字节-----兆字节-------吉字节-------太字节
(3)转换
1Byte=8Bits
1KB=1024Byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
(4)存储于传输
数据存储是以10进制表示,数据传输是以2进制表示的
(5)字符与编码
①ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节。
②UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节
③Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节
(6)区分字符个数和字节数
在纯ASCII码下,字节数=字符串长度=字符个数,因为每个字符就一个字节。
在Unicode下,字节数/2=字符串长度=字符个数,因为每个字符都是2个字节。
在ASCII码与其它双字节字符系统混用时,字节数=ASCII码字符个数+双字节字符个数*2,而此时字符串长度到底怎么统计就不好说了,有的语言如C语言,此时字符串长度=字节数,有的语言如JS,此时字符产长度=字符个数。
其他具体知识点我在文章HTML字符集 ,关于进制和Unicode编码详解 里做过总结
.
相关推荐
- `MOV 07H, #07H`:这也是三字节指令,`MOV`占用一个字节,8位地址`07H`占用一个字节,8位立即数`#07H`占用一个字节。 此外,提到的BCD码减数求补问题是一个典型的应用示例。在51单片机中,由于`DA A`指令只能用于...
再来谈谈字节码执行。Java源代码经过编译后生成.class文件,里面包含的就是字节码。JVM的解释器负责将字节码转换为机器可执行的指令。JIT(Just-In-Time)编译器进一步提升了性能,它会将频繁执行的热点代码编译成本...
首先,我们来谈谈“字节”。在计算机科学中,字节是数据的基本单位,通常由8位二进制数字组成。这8位可以表示从0到255的数值,即2^8的可能值。字节不仅用于存储单一字符,还常用于衡量内存或数据传输速率。在Java中...
在Golang中,字符串是一种非常基础且常用的数据类型,它实际上是字符组成的只读字节数组。字符串在内存中以连续的方式存储,每个字符对应一个字节,这与C语言中的char数组类似。然而,与C不同的是,Golang中的字符串...
首先,我们来谈谈类加载过程。在Java中,当类被首次引用时,JVM会通过类加载器将其加载到内存中。这个过程包括了加载、验证、准备、解析和初始化五个阶段。其中,初始化阶段是执行类的初始化方法()的时刻,它包含了...
《谈谈Unicode编码——程序员的趣味读物》 在IT领域,字符编码是一个基础且至关重要的概念,特别是对于程序员而言,理解和掌握Unicode编码至关重要。本文旨在解答关于Unicode编码的一些常见问题,帮助程序员更深入...
UTF-8是最广泛使用的编码格式,它使用1到4个字节表示一个字符,对ASCII字符使用单字节编码,对其他字符使用多字节编码。UTF-16通常使用2或4个字节,而UTF-32则固定为每个字符4字节,确保每个Unicode代码点都有唯一...
"谈谈对Java的认识" Java是一种高级编程语言,它的出现改变了整个软件开发的战略, 从单机时代向着以网络为中心的计算机时代转移。Java语言的特点包括简单、高级、面向对象、分布式、解释型、健壮、安全、体系结构...
接着,我们来谈谈“RandoInjector”。这个术语暗示着这个工具可能用于注入随机字节序列到某个系统、程序或数据流中,这在测试、安全研究或者调试过程中非常常见。数据注入可以用于测试程序对异常输入的处理能力,...
在IT领域,编程语言Python在处理文本数据时,特别是涉及到编码问题时,常常需要理解Unicode、ASCII、MBCS(多字节字符集)等概念。这篇内容将深入探讨Python中的编码问题,以及如何在实际操作中处理这些概念。 首先...
在这个定义中,存储类型决定了变量存放在何处,数据类型决定了这个变量所占的字节数,变量名决定了这个变量在本程序中的名字,表达式则决定了这个变量的初始值。 使用变量之前应该给变量一个值,一个好的编译程序将...
首先,让我们谈谈Java字节码。当开发者编写Java程序并保存为.java文件后,Java编译器(javac)将这些源代码转换成字节码,存储在.class文件中。字节码是一种低级的、机器无关的指令集,它允许Java程序在任何支持JVM...
为什么需要加固 Android应用主要以Java语言编写,混淆...Android系统淡化进程概念,基于消息和事件触发 运行的机制使得插入恶意代码甚至无需接触字节码 Root后可利用ptrace API或修改system image实现 动态注入 视频链接
bytes库提供了处理字节操作的工具,如字节数组的缓冲功能(bytes.Buffer)。它实现了Reader和Writer接口,允许字节操作与io库的其他部分兼容。strings库则专注于字符串操作,也实现了Reader接口,但主要针对字符串...
Java源代码首先被编译为字节码,然后在JVM内部,字节码通过解释器转化为机器码执行。然而,现代的JVM如Hotspot JVM,采用了JIT(Just-In-Time)编译器,能够在运行时将频繁执行的热点代码编译为本地机器码,提高性能...
Java源代码首先通过Javac编译器转化为字节码,这是一种平台无关的中间表示。然后,字节码在JVM上运行时,被解释器逐行解释为特定硬件平台的机器码。然而,现代JVM如Oracle JDK中的HotSpot JVM,不仅包含解释器,还...
程序员趣味读物《谈谈Unicode编码》通过轻松易懂的方式向程序员介绍Unicode,同时解答了关于编码转换和识别的问题。 首先,文章介绍字符编码的基础概念。字符编码是将字符转换为计算机能理解的二进制形式的过程。...