Server Message - 字符串和值类型如何转换为字节数据(七)

在网络通讯开发中,有的时候我们需要解决 粘包和分包的问题的时候,需要使用到 字节转换,一般来说的话是有两种 方法进行的
1、将数字转换为字节数组
Encoding.UTF8.GetBytes
会按照字符类型来进行处理
不管是数字或者是字符,都只是占 1 个字符
一个汉字占有 3 个字节
字符串转byte[] 数组的时候对里面的每一个 字符串都会进行一个转变。
占有字节的长度跟值的大小没有关闭,跟字符个数有关系的。
没有办法保证转换的长度
在这里插入图片描述

2、Int 32 转成字节数组
BitConverter.GetBytes():
把一个数据转换为 字节数组,处理的全部都是值类型的,会按照值进行处理
能够根据值的大小来进行处理
永远只是占有 4 个字节
在这里插入图片描述
在项目开发中会使用
BitConverter.GetBytes()方法:进行数据长度转换
Encoding.UTF8.GetBytes()方法:使用 转换实际数据,可能会带有一些中文
BitConverter.ToInt16()方法:可以将一个 byte[] 转换为一个 int 类型的值

补充:
数据的两大类
{
值类型,
引用类型
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值