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

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

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

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