bit、byte、位、字节、汉字的关系

位、比特(bit)、字节(Byte)区别与关系 主要区别是针对 CPU 而言,指 CPU 一次处理的二进制位数,64 位计算机一般指拥有 64 位的处理器和 64 位的操作系统,32 位计算机一般指拥有 32 位的处理器和 32 位的操作系统。(64 位系统的最大寻址空间为 2 的 64 次方方,数值大于 1 亿 GB;CPU有32位和64位之分,32位的CPU只能安装32位系统,而64位的CPU既可以安装32位系统也可以安装64位系统。64位CPU的指令集可以运行64位数据指令,比32位CPU提高了一倍(需要64位软件支持)。 阅读详情
一、 Bit(位)
  1. 定义: 计算机中最小的数据单位,一个二进制位。
  2. 核心概念:
    • 状态只有两种:0 或 1(开/关、真/假、高/低电压)。
    • 它是所有数据的物理基础。
  3. 程序员视角:
    • 在底层开发、嵌入式、协议解析、位运算(&, |, ~, ^, <<, >>)中经常直接操作位,用于优化存储、设置标志位等。
    • 类比: 比特就像原子,是构成物质的基本单元。
二、Byte(字节)
  1. 定义: 由 8个bit 组成的序列。这是计算机信息处理的标准最小可寻址单元。
  2. 核心关系: 1 Byte = 8 bits。
  3. 为什么是8位?
    • 历史原因(字节长度曾不固定),但8位能表示 2^8 = 256 个不同的值,足够覆盖英文字母、数字、标点和控制字符,成为一个在效率和成本上很好的平衡点。
  4. 程序员视角:
    • 我们很少直接操作bit,绝大多数情况都是在操作byte。
    • 内存地址指向的是字节,而不是位。
    • 在C/C++中,char 类型是1个字节。在Java/C#中,byte 类型也是1个字节。
    • 类比: 字节就像分子,由原子(bit)组成,是具备特定功能的基本单位。
三、 解码:从数字到英文字符——ASCII 编码
  1. 问题: 计算机如何用字节表示字符?
  2. 解决方案: ASCII 码。
    • 用一个字节(8位)中的后7位来表示128个字符(包括英文字母、数字、标点等)。
    • 例如:A -> 65 -> 01000001(一个字节)。
  3. 关键点: 在纯英文环境下,一个字符 ≈ 一个字节。这个概念非常重要,但也正是理解中文编码的“陷阱”。
四、 汉字与多字节字符集
  1. 问题: 汉字数量庞大(成千上万),一个字节的256种可能远远不够。

  2. 解决方案: 使用多个字节来表示一个汉字。

    a) GB2312 / GBK(国标码)

    • 原理: 使用 2个字节 表示一个汉字(以及一些特殊符号)。
    • 范围: 第一个字节(高字节)从 0xA1 开始,第二个字节(低字节)从 0xA1 开始。这构成了一个巨大的“表格”,可以容纳数千个汉字。
    • 程序员视角: 在GBK编码下,一个汉字 = 2个字节。这是早期中文Windows系统的默认编码。

    b) Unicode(万国码)

    • 目标: 为全世界所有字符提供一个唯一的数字编号(称为码点,Code Point)。
    • 关键: Unicode 只定义编号,不定义如何存储! 例如,“汉”字的Unicode码点是 U+6C49(一个抽象的标识符)。

    c) UTF-8(Unicode 的传输格式)—— 互联网标准

    • 原理: 一种变长的Unicode实现方式。它非常聪明:
      • ASCII 字符(0-127): 用 1个字节 存储,与ASCII完全兼容。
      • 大多数汉字等字符: 用 3个字节 存储。
      • 其他字符可能占用2或4个字节。
    • 存储“汉”字 (U+6C49):
      1. Unicode 码点 U+6C49 位于 0800-FFFF 范围内,根据UTF-8规则,需要3个字节。
      2. 经过编码计算,最终在硬盘或内存中存储为三个字节:E6 B1 89(十六进制)。
    • 程序员视角:
      • 在UTF-8编码下,一个汉字通常 = 3个字节。
      • UTF-8是现代Web、Linux系统、以及跨平台应用的首选编码。你的代码文件、数据库、网络传输都应优先考虑UTF-8。
五、 总结与关系梳理
概念英文关系与大小角色与作用
位Bit (b)最小单位,0或1数据的物理基石
字节Byte (B)1 Byte = 8 Bits计算机寻址和操作的基本单元
英文字符-1 Char ≈ 1 Byte (ASCII)基础文本表示
汉字-1 Hanzi = 2 Bytes (GBK)本地化编码方案
1 Hanzi ≈ 3 Bytes (UTF-8)现代跨平台应用的通用方案

核心关系链:
Bit (0/1) -> 组成 Byte (8 bits) -> 根据编码规则 (如UTF-8) -> 解释为字符 (包括汉字)

六、 实战建议
  1. 明确编码: 在读写文件、进行网络通信、连接数据库时,必须明确指定字符编码(如UTF-8),否则就会出现乱码。
  2. 字符串长度 vs 存储大小:
    • string.length()(在很多语言中)返回的是码元单位数或字符数,而不是字节数。
    • 要获取字节数,需要使用特定方法,如Python的 len(s.encode('utf-8')) 或Java的 s.getBytes("UTF-8").length。
  3. 数据库字段设置: 设置为 VARCHAR(100) 表示可以存储100个字符,但实际占用的磁盘空间取决于这些字符的类型和编码(UTF-8下,100个汉字可能需要约300字节)。
将Keil中的变量数组导出 首先,写好导出数据的函数。 阅读详情

相关推荐

利用Virtuoso IC 618进行LDO稳定性分析与补偿设计

本文详细介绍了如何利用Virtuoso IC 618进行LDO稳定性分析与补偿设计。通过搭建仿真环境、运行STB分析诊断环路问题,并深入探讨密勒补偿、调零电阻等关键技术,帮助工程师在Virtuoso平台中高效完成LDO的稳定性优化与验证,确保芯片在各种工艺角下的鲁棒性。

weixin_29170327的博客 162

位(bit)、字节(byte)、字符、编码

1、位:也叫比特位,数据存储的最小单位。每个二进制数字0或者1就是1个位; 2、字节:8个位构成一个字节。即:1 byte (字节)= 8 bit (位);1 B = 1 byte (字节)1 KB = 1024 B(字节);1 MB = 1024 KB; (2^10 B)1 GB = 1024 MB; (2^20 B)1 TB = 1024 GB; (2^30 B) 3、字...

weixin_34146805的博客 4069

西门子 标准程序解读---> 机器手抓取和涂胶控制程序

摘要 该程序实现机械手在OP70/OP90工位的自动化控制,核心功能包括: 流程控制:分段(Seg1-Seg11)管理抓件、涂胶、放件等动作,结合DB1050/DB1250数据块监控工位状态及变位机位置反馈。 安全机制:配置干涉区(FC124)、实时检测安全光/急停信号,防止碰撞;服务程序(FB191)支持维修位触发与安全隔离。 参数配置:通过DB块关联机器人速度、节拍(FB27)、车型编码(如空过=2)及手自动模式(DB70.DBX21.2)。 应用场景:适用于汽车焊接/装配线

工控智联驿站 1238

位、比特、字节和字之间的关系

比特即“bit”,还有一种称呼叫作“位”。 字节、字、位、比特,这四者之间的关系是: 1位=1比特 1字=2字节 1字节=8位 1字=16位 (备注:字就是指一个汉字,bit为Binary digit(二进制数)的英文单词缩写) 拓展内容:二进制数系统中,每个0或1就是一个位(bit),位是数据存储的最小单位。其中8bit就称为一个字节(Byte)。计算机中的CPU位数指的是CPU一次...

hudada19的博客 1万+

手把手教你用三菱PLC控制JET伺服原点:从硬件接线到GXWORKS3程序调试

本文详细介绍了如何使用三菱PLC控制JET伺服系统实现原点回归功能,涵盖硬件接线、参数配置到GX Works3程序调试的全流程。通过实战指南,帮助工程师快速掌握伺服控制技术,提升工业自动化项目的实施效率。

weixin_30642561的博客 534

2024年全国大学生电子设计竞赛A题_AC-AC变换电路并联运行

AC-AC变换电路并联运行(A 题)【本科组】

qq_74395263的博客 7832

位、比特(bit)、字节(byte)(B)、KB、MB、GB的含义

一、含义 位是计算机存储的最小单位,简记为b,也称为比特(bit)。计算机中用二进制中的0和1来表示数据,一个0或1就代表一位。 比特(bit)是由英文BIT音译而来,比特同时也是二进制数字中的位,是信息量的度量单位,为信息量的最小单位; 字节,英文Byte,缩写大写B。是计算机用于计量存储容量的一种计量单位,通常情况下一字节等于八位,字节同时也在一些计算机编程语言中表示数据类型和语言字符,在现代计算机中,一个字节等于八位; KB、MB、GB表示容量或数据大小。

qq_36659384的博客 3万+

忘记安卓锁屏密码怎么办?3种方法教你用ADB恢复访问(含gesture.key解密)

本文详细解析了安卓设备锁屏密码的存储与加密机制,特别是gesture.key文件的解密原理。针对遗忘密码的常见问题,提供了三种核心恢复方法:利用ADB调试接口删除密码文件、对gesture.key进行离线分析与解密,以及应对高版本系统的替代方案。重点介绍了通过ADB工具在Recovery模式下操作的具体步骤,帮助用户在合法合规前提下恢复设备访问权限。

php55的博客 953

位(bit)、字节(byte)、字(word)

在计算机中作为一个整体被存取、传送、处理的二进制数字符串叫做一个字或单元,每个字中二进制位数的长度,称为字长。一个字由若干个字节组成,不同的计算机系统的字长是不同的,常见的有8位、16位、32位、64位等,字长越长,计算机一次处理的信息位就越多,精度就越高,字长是计算机性能的一个重要指标。如果一台计算机的字长是另一台计算机的两倍,即使两台计算机的速度相同,在相同的时间内,前者能做的工作是后者的两倍。比特是表示信息的最小单位,是二进制数的一位包含的信息或2个选项中特别指定1个的需要信息量。

ww1425408527的博客 1万+

基于Simulink的光伏电站AGC/AVC协调控制仿真

摘要:本文基于Simulink构建光伏电站AGC/AVC协调控制仿真模型,通过分层控制架构实现有功-无功解耦与储能协同。系统包含100kW光伏阵列、50kWh储能及逆变器组件,采用PID控制器实现AGC频率调节(±0.1Hz)和Q-V下垂控制实现AVC电压稳定(±2%)。仿真验证了三种工况下协调控制的有效性:正常调度时储能充电20kW;负荷突增时储能15kW放电维持频率;光照骤降时储能30kW放电并吸收2kVAR无功稳定电压。结果表明,该方案可使频率/电压偏差分别控制在0.1Hz和7.6V内,响应时间&lt

xiaoheshang_123的博客 234

使用 Simulink + Simscape Electrical 对基于VSG控制的背靠背变流器整流侧进行建模与仿真

本文介绍了基于Simulink的直驱风电系统背靠背变流器整流侧虚拟同步发电机(VSG)建模方法。首先阐述了直驱风电系统结构和VSG控制的作用,然后详细指导了模型搭建过程:从创建项目、添加PMSG和变流器模块,到搭建主电路拓扑和实现VSG控制逻辑。重点说明了VSG控制器如何模拟传统同步发电机的特性,并提供了仿真设置和结果分析方法。该模型可用于研究风电系统在不同工况下的响应特性,为新能源发电系统设计提供重要参考。

amy_mhd的博客 180

5分钟带你看懂bit、byte、位、字节、汉字之间的关系

1、计算机存储信息的最小单位,称之为位(bit),音译比特,二进制的一个“0”或一个“1”叫一位。 2、计算机存储容量基本单位是字节(Byte),音译为拜特,8个二进制位组成1个字节,一个标准英文字母占一个字节位置,一个标准汉字占二个字节位置。 3、计算机存储容量大小以字节数来度量,1024进位制: 1024B=1K(千)B 1024KB=1M(兆)B 1024MB=1G(吉)B 1024G...

甲凹I饕餮的博客 4511

寻路最终版哦

相信大家用unity3d寻路的时候,一定会碰到多人

yxriyin的专栏 6953

bit,byte,位,字节,汉字的关系详解

字节(Byte):通常将可表示常用英文字符8位二进制称为一字节。 一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间. 符号:英文标点2占一个字节,中文标点占两个字节. 1字节(Byte) = 8位(bit) 比特(Bit),亦称二进制位。新港台:位元 比特指二进制中的一位,是二进制最小信息单位。 1比特就是1位 字节 字节(Byte):字节是通过网络传输信息(或在硬盘或内存...

CSer 986

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【转】bit、byte、位、字节、汉字的关系

UTF-8和UTF-16的区别?Unicode和UTF是什么关系?Unicode转义字符(\u+4个十六进制)。遇到多个引号的时候转义? 解释: unicode是一种编码方式,和ascii是同一个概念,而UTF是一种存储方式(格式)。 数据存储是以“字节”(Byte)为单位,数据传输是以“位”(bit)为单位,一个位就代表一个0或1(即二进制),每8个位(bit)...

demographic2017的博客 224

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

bit ,byte,位,字节,汉字关系

1 bit      = 1 二进制数据 1 byte   = 8 bit 1 字母 = 1 byte = 8 bit 1 汉字 = 2 byte = 16 bit 1. bit:位      一个二进制数据0或1,是1bit; 2. byte:字节      存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45) 即是指 45个字节;      1 by

809

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: JDK 完全卸载与安装配置指南:从清理到环境搭建
下一篇: Bus Hound——强大的总线分析工具,抓USB转串口数据包如何使用
Stream_Silver
博客等级 码龄5年 73粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值