C#如何依次读取Byte[]数组的一个元素;public byte[] data; data有很多个元素

C#如何依次读取Byte[]数组的一个元素;public byte[] data; data有很多个元素,第1张

那你看执行的程序是否能够通过流或者字节数组去执行了,据我所知绝大多数程序是没有这个功能的

回答补充:

如果程序支持流的话,你可以使用MemoryStream包裹一个字节数组,然后当作Stream来使用,外部程序是没办法直接读取你的托管内存值的

1、C语言中的字符类型即char类型,一般情况占1个字节,因此一般使用char类型来描述字节数组。比如

char sz_byte[256];

2、有时候为了阅读文件,会将char类型说明为BYTE类型。需要借助于typedef关键字。比如

typedef char BYTE;

BYTE buff[16] = {0};

1)函数GetByteArray返回转换后的字节数组,完整程序如下:

class Program

 {

        static void Main()

        {

            string ss = "FE FE FE 68 20";

            byte[] bArray = GetByteArray(ss);

            foreach (var b in bArray)

            {

                ConsoleWrite("{0:X2} ", b);

            }

            ConsoleWriteLine();

        }

        

        public static byte[] GetByteArray(string shex)

        {

            string[] ssArray = shexSplit(' ');

            List<byte> bytList = new List<byte>();

            foreach (var s in ssArray)

            {

                //将十六进制的字符串转换成数值

                bytListAdd(ConvertToByte(s, 16));

            }

            //返回字节数组

            return bytListToArray();

        }

 }

2)运行结果

byte[] target = SystemTextEncodingUTF8GetBytes(text);

byte[] b = new byte[601];

for (int i = 0; i < 601;i++ )

{

b[i] = ConvertToByte(target[(i + 2) 2] 256 + target[(i + 2) 2+1]);

}

}

这样就编译通过了,但是这个代码还是会报错,因为byte最大就127,你这个 target[(i + 2) 2] 256 + target[(i + 2) 2+1可定会超过的出现溢出错误。

char和byte都是8位。char默认是signed还是unsigned看编译器,一般是signed也就是有符号char类型,范围为0-127它的最高位是不用的,为0

byte范围0-255,。所以char转byte直接强制类型转换就可以,不会丢失数据

C++没有byte类型。

变通方式:

unsigned char a[3];替换byte数组。

char的大小是一个字节,所以可以当作字节数组使用。

例如 :

byte a[3];

a[0] = 'a';

可改成

unsigned char a[3];

a[0] = 'a';

以上就是关于C#如何依次读取Byte[]数组的一个元素;public byte[] data; //data有很多个元素全部的内容,包括:C#如何依次读取Byte[]数组的一个元素;public byte[] data; //data有很多个元素、单片机C语言里怎么定义BYTE型的数组、C#中字符串转换为byte型数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9615306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存