当前位置: 首页 > java >正文

网络开发基础(游戏)之 二进制数据处理

网络数据处理相关

        在网络通信中,我们把想要传递的类对象数据序列化为二进制数据(一般为byte字节数组),再将该二进制数据通过网络传输给远端设备。远端设备获取到该二进制数据后再将其反序列化为对应的类对象。

序列化: 将类对象信息转换为可保存或传输的格式的过程

反序列化: 与序列化相对,将保存或传输过来的格式转换为类对象的过程

C#基本数据类型

类型

别名

取值范围

说明

分类

sbyte

System.Sbyte

-128~127

1个字节的有符号整数

整数类型

byte

System.Byte

0~255

1个字节的无符号整数

short

System.Int16

-32768~32767

2个字节的有符号整数

ushort

System.Uint16

0~65535

2个字节的无符号整数

int

System.Int32

-2,147,483,648 ~2,147,483,647

4个字节的有符号整数

uint

System.Uint32

0 ~ 4,294,967,295

4个字节的无符号整数

long

System.Int64

8个字节的有符号整数

ulong

System.Uint64

8个字节的无符号整数

float

System.Single

占4个字节

实数类型

double

System.Double

占8个字节

decimal

System.Decimal

占12个字节

char

System.Char

占2个字节

字符型

bool

System.Boolean

占1个字节

布尔类型

字节单位换算

在 C# 中进行字节单位换算是处理文件大小、内存分配和网络传输时的常见需求。

1 KB = 1024 B
1 MB = 1024 KB
1 GB = 1024 MB
1TB = 1024GB

单位名称

缩写

字节数

说明

字节

B

1

基本单位

千字节

KB

1,024 (2^10)

二进制千字节

兆字节

MB

1,048,576 (2^20)

二进制兆字节

吉字节

GB

1,073,741,824 (2^30)

二进制吉字节

太字节

TB

1,099,511,627,776 (2^40)

二进制太字节

BitConverter

值类型转换为字节数组

支持的值类型有bool、char、double、short、int、long、float、ushort、uint、ulong

int value = 666;
var data = BitConverter.GetBytes(value);  

字节数组转换为值类型

int value = 666;
var data = BitConverter.GetBytes(value);    
var result = BitConverter.ToUInt16(data, 0);    

Encoding

        在进行文件存储、网络传输时,都采用UTF-8的编码格式,它相对其它格式来说在互联网通信中应用更广泛,更普遍,它包含各种语言符号。

字符串转换为字节数组

var str = "好好学习,天天向上";
var data = Encoding.UTF8.GetBytes(str);

字节数组转换为字符串

var str = "好好学习,天天向上";
var data = Encoding.UTF8.GetBytes(str);
var result = Encoding.UTF8.GetString(data);
http://www.xdnf.cn/news/629.html

相关文章:

  • SSM(SpringMVC+spring+mybatis)整合的步骤以及相关依赖
  • JVM垃圾回收器整理
  • Oracle EBS COGS Recognition重复生成(一借一贷)
  • Docker Registry(镜像仓库)
  • Linux网络编程 TCP---并发服务器:多进程架构与端口复用技术实战指南
  • OpenCV 高斯模糊 cv2.GaussianBlur
  • k8s 基础入门篇之开启 firewalld
  • 网络原理 - 应用层, 传输层(UDP 和 TCP) 进阶, 网络层, 数据链路层 [Java EE]
  • 为什么this与super不能出现在同一构造器的原因
  • 计算机视觉与深度学习 | Transformer原理,公式,代码,应用
  • 深度解析算法之前缀和
  • 【中间件】nginx将请求负载均衡转发给网关,网关再将请求转发给对应服务
  • 26考研 | 王道 | 数据结构 | 第六章 图
  • 重构之去除多余的if-else
  • AWS Linux快速指南:5分钟搭建多用户图形界面
  • Unity游戏开发实战:从PlayerPrefs到JSON,精通游戏存档与加载机制
  • 软件测试的页面交互标准:怎样有效提高易用性
  • [ 春秋云镜 ] — Time 仿真场景
  • 第1期:Python基础语法入门
  • 前端面试的话术集锦第 25 篇博文——CSS面试题上
  • 在 Windows 8/10/11 上运行Windows7的经典游戏(扫雷 蜘蛛纸牌等)
  • (eNSP)Super Vlan配置
  • PKI 公钥基础设施
  • NHANES指标推荐:WWI
  • WSL 升级报错
  • BR_频谱20dB 带宽(RF/TRM/CA/BV-05-C [TX Output Spectrum – 20 dB Bandwidth])
  • 机械设计【】技术要求(实际使用)
  • 测试第四课---------性能测试
  • Gnome修改windows titlebar的主题
  • js day3