尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

逆向基础--编码(001)

逆向基础--编码(001)
📅 发布时间:2026/6/18 13:38:41

逆向基础--编码(001)

一.位与字节

  比特(Bit):1比特就是1位,每个0或1就是一个位,位是数据存储的最小单位。位是二进制表示,8位二进制是一个字节。 8位二进制(就是8个比特)最大:11111111

  字节(Byte):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。

  1个字节等于8位二进制, 8位二进制可存储从00000000到11111111的256个不同的值中的一个。也就是可以存储整数:0~256,以及 -128到127(含)的有符号数字。

   可以理解为字节是容器,一个容器有8个格子,每个格子存放一个bit (0和1)

 

二.字符编码  

  字符编码包括: ASCII编码和Unicode编码

  ASCII编码:使用一个字节(8bit)来表示一个字符,但实际上只使用了7位,共128个字符。包括英文字母、数字、标点符号和控制字符。由于ASCII只能表示128个字符,对于其他语言的字符无法表示,因此出现了多种扩展的字符集(如ISO-8859-1)和Unicode。

  Unicode是一个旨在包含所有字符的字符集。如UTF-8、UTF-16、UTF-32。

        UTF-8:是一种变长编码,使用1到4个字节来表示一个字符。英文字符在UTF-8中仍然用一个字节表示,与ASCII兼容。而中文等其他字符则用多个字节。  

        UTF-16:使用2个或4个字节来表示一个字符。

        UTF-32:固定使用4个字节表示一个字符。

 计算机中的CPU位数指的是CPU一次能处理的最大位数。例如32位计算机的CPU一次最多能处理32位数据。

字符【A】的转换示例字符'A'在UTF-8编码下是一个字节,且与ASCII相同,其十六进制为0x41。
现在要将0x41转换成二进制。4和1分别对应4位二进制:
4 -> 0100
1 -> 0001
所以字符【A】的16进制为0x41, 转为二进制就是 01000001。

 

字符【中】的转换示例分二种编码:Unicode和UTF-8Unicode: U+4E2D (等于0x4E2D)
4E2D (十六进制) = 0100 1110 0010 1101 (二进制,共15位,我们将其扩展为16位,即两个字节)
U+4E2D的二进制表示是:100111000101101(15位),但通常我们按16位处理,即前面补0,成为:0100111000101101。UTF-8编码: 11100100 10111000 10101101 (二进制,属于三个字节)
三个字节分别转十六进制: E4 B8 AD
实际存储,这三个字节连续存储: 111001001011100010101101

  在Unicode中,码点通常表示为 U+XXXX 的形式,其中XXXX是十六进制数字。这种表示法是Unicode标准约定的。而在编程语言或内存地址中,我们通常使用0x作为十六进制的前缀

  为什么Unicode码点用U+开头?

    ---这是Unicode标准规定的写法,用于明确表示这是一个Unicode码点。它直接告诉我们这个数字是Unicode字符的编号。
  为什么字符【中】的16进制为4E2D?

    ---Unicode码点的分配是有规律的,汉字集中在U+4E00到U+9FFF这个区间(称为CJK统一汉字)。'中'这个字位于这个区间内,具体是U+4E2D。

  用户输入: '中' -->应用程序: 识别为 Unicode 字符-->操作系统: 查找 Unicode 码点表 → U+4E2D-->转为字节-->存储或传输

 

三.转换关系

字节--->16进制 
示例字节:
11100100 二进制: 1110 0100 十六进制: E 4 结果为:E4

 

16进制-->字节
十六进制OxE4
转为二进制:1110  0100 (E对应1110  4对应0100)
字节结果为:11100100  

 

 

四.前缀约定

  3.1不同领域的十六进制前缀约定

领域前缀示例说明
编程语言 0x 0x4E2D C/C++/Java/Python等语言标准
Unicode标准 U+ U+4E2D Unicode码点的专用表示法
汇编语言 h后缀 4E2Dh 某些汇编器的约定
通用表示 无或# 4E2D 或 #4E2D 文档或通用场景

  3.2不同领域的二进制约定

领域前缀/后缀示例说明
现代编程语言 0b 或 0B 0b1010 C++14+, Java 7+, Python, Rust, Go
传统编程语言 无标准表示 B"1010" 需要库函数或特殊语法
汇编语言 b 后缀 1010b MASM, NASM, 部分汇编器
汇编语言(其他) % 前缀 %1010 某些汇编器变体
Verilog/VHDL 'b 前缀 8'b1010_1100 硬件描述语言
文档/教科书 下标₂ 1010₂ 学术论文、教材
网络协议 无前缀 10101100 RFC文档、协议规范
配置文件 无标准 多种形式 依具体软件而定

 注意:0x是一个前缀,表示后面跟着的数字是十六进制数。如:0x41

   0b 或 0B是一个前缀,表示二进制。如:0b01000001

   0 是一个前缀,表示八进制。如:041

     十进制是没有前缀的

   HTML实体:中(十六进制)或 中(十进制) 

   CSS Unicode:\4E2D(十六进制)

   XML:中(十六进制)

 

作者:花阴偷移

出处:https://www.cnblogs.com/MrHSR/

本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。

相关新闻

  • 20251027 - 倍增 ST表
  • 10-27 CSP 赛前比赛记录
  • P3939 数颜色

最新新闻

  • 2026 安徽哪所学校护理升学强?5大高升学率中职招生名单 - 小途xt
  • NXP DPAA硬件加速实战:报文头操作与CAAM加密引擎配置详解
  • 2026年论文写作AI工具怎么用?豆包等工具详细使用教程 - 掌桥科研-AI论文写作
  • 2026滁州家长注意!离南京这么近,孩子学建筑去这所公办中职,比在南京打工强 - 我叫小周
  • 50行Python实现人脸检测:OpenCV+Haar级联原理与实战
  • 2026重庆高端珠宝首饰回收排行 权威鉴定实测靠谱商家榜单 - 名奢变现站

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号