73 lines
2.0 KiB
C#
73 lines
2.0 KiB
C#
/******************************************************
|
|
* ROMVault2 is written by Gordon J. *
|
|
* Contact gordon@romvault.com *
|
|
* Copyright 2014 *
|
|
******************************************************/
|
|
|
|
using System;
|
|
using System.IO;
|
|
|
|
namespace ROMVault2.Utils
|
|
{
|
|
public static class ArrByte
|
|
{
|
|
public static void Write(BinaryWriter bw, byte[] b)
|
|
{
|
|
bw.Write((byte)b.Length);
|
|
bw.Write(b);
|
|
}
|
|
|
|
public static byte[] Read(BinaryReader br)
|
|
{
|
|
byte len = br.ReadByte();
|
|
return br.ReadBytes(len);
|
|
}
|
|
|
|
public static byte[] Copy(byte[] b)
|
|
{
|
|
if (b == null) return null;
|
|
byte[] retB = new byte[b.Length];
|
|
for (int i = 0; i < b.Length; i++)
|
|
retB[i] = b[i];
|
|
return retB;
|
|
}
|
|
|
|
public static bool bCompare(byte[] b1, byte[] b2)
|
|
{
|
|
if (b1 == null || b2 == null) return false;
|
|
|
|
if (b1.Length != b2.Length) return false;
|
|
|
|
for (int i = 0; i < b1.Length; i++)
|
|
if (b1[i] != b2[i]) return false;
|
|
|
|
return true;
|
|
}
|
|
|
|
public static int iCompare(byte[] b1, byte[] b2)
|
|
{
|
|
int b1Len = (b1 == null) ? 0 : b1.Length;
|
|
int b2Len = (b2 == null) ? 0 : b2.Length;
|
|
|
|
int p = 0;
|
|
for (; ; )
|
|
{
|
|
if (b1Len == p)
|
|
return (b2Len == p) ? 0 : -1;
|
|
if (b2Len == p)
|
|
return 1;
|
|
if (b1[p] < b2[p])
|
|
return -1;
|
|
if (b1[p] > b2[p])
|
|
return 1;
|
|
p++;
|
|
}
|
|
}
|
|
|
|
public static string ToString(byte[] b)
|
|
{
|
|
return b == null ? "" : BitConverter.ToString(b).ToLower().Replace("-", "");
|
|
}
|
|
}
|
|
}
|