Unity数据持久化 之 二进制存储法
本文仅作笔记学习和分享,不用做任何商业用途
本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正
前置知识:1 Byte =8 bit ,所以0000 00001 就是一个字节, 该串数字转为十进制代表1
进制转换 - 在线工具 (tool.lu)
记牢8421进制转换法,可以应对绝大多数情况的十&二进制转换
1.数据转字节
首先来看看都有什么变量类型
比特转换器
就是将具体的数据转为字节并且存到数组里面
//数据类型转字节,bit转换器
byte[] b =BitConverter.GetBytes(10);
PS:
值得注意的是,他是将数据转为bit后表示为字节的
也就是说b[0]里面有8bit,如果超出了这个范围,比如256表示为0001 0000 0000,那么他就会如下操作,存到下一个坑儿里
byte[] b =BitConverter.GetBytes(256);
2.字节转数据
参数一:要转的字节变量
参数二:要从哪个索引开始转(按需阶段数据,不要数组越界!)
int i = BitConverter.ToInt32(b, 0);
3.按编码转换字符串与字节数组
一般使用UTP-8
//字符串转utf-8编码的字节数组
static byte[] b2 = Encoding.UTF8.GetBytes("任意字符串");
//字节数组按utf-8的编码转字符串
string str =Encoding.UTF8.GetString(b);