|
Работа с массивом байт Bytes.cs [C#] - Разработка ПО для Perfect World - Бюро разработчиков Zhyk.Ru: создание ботов, снифферов и прочих программ для Perfect World |
18.12.2011, 16:21
|
#1
|
|
|
|
Капитан
|
Регистрация: 24.09.2010
Сообщений: 262
Популярность: 6723
Сказал(а) спасибо: 118
Поблагодарили 346 раз(а) в 104 сообщениях
|
Работа с массивом байт Bytes.cs [C#]
Код:
using System;
using System.Collections.Generic;
using System.Text;
namespace PlayerInformation
{
class Bytes
{
public static byte[] WriteWord(ushort value)
{
return BitConverter.GetBytes(value);
}
public static byte[] WriteWord(byte[] bt1,ushort value)
{
return Bytes.WriteBytes(bt1, BitConverter.GetBytes(value));
}
public static byte[] WriteDWord(uint value)
{
return BitConverter.GetBytes(value);
}
public static byte[] WriteDWord(byte[] bt1,uint value)
{
byte[] ret = Bytes.WriteBytes(bt1, BitConverter.GetBytes(value));
return ret;
}
public static byte[] WriteQWord(byte[] bt1,ulong value)
{
return Bytes.WriteBytes(bt1, BitConverter.GetBytes(value));
}
public static byte[] WriteQWord(ulong value)
{
return BitConverter.GetBytes(value);
}
public static string GetByteFormat(byte bt1)
{
string bts1 = Convert.ToString(bt1, 16);
if (bts1.Length == 1) bts1 = "0" + bts1;
else return bts1;
return bts1;
}
public static string UStringRead(byte[] bytes)
{
int textLen = bytes.Length / 2;
string newText = "";
byte[] text = new byte[textLen];
for (int i = 0; i < textLen; i++)
{
int numb = (i * 2);
text[i] = bytes[numb];
newText = Encoding.GetEncoding(1251).GetString(text);
}
return newText;
}
return newText;
}
public static byte[] UStringWrite(string Text)
{
byte[] TextBytes = Encoding.GetEncoding(1251).GetBytes(Text);
byte[] retBytes = new byte[0];
for (int i = 0; i < TextBytes.Length; i++)
{
retBytes = Bytes.WriteBytes(retBytes, TextBytes[i]);
retBytes = Bytes.WriteBytes(retBytes, 0x00);
}
return retBytes;
}
public static byte[] ToBytes(string pack)
{
string[] spack = pack.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
byte[] ret = new byte[spack.Length];
for (int i = 0; i < spack.Length; i++) ret[i] = Convert.ToByte(Convert.ToInt32(spack[i], 16));
return ret;
}
public static byte[] WriteBytes(byte[] bt1, byte bt2)
{
byte[] bt = new byte[bt1.Length + 1];
for (int i = 0; i < bt1.Length; i++ ) bt[i] = bt1[i];
bt[bt1.Length] = bt2;
return bt;
}
public static string ToString(byte[] pack)
{
string packet = "";
for (int i = 0; i < pack.Length; i++) packet += Convert.ToString(Bytes.GetByteFormat(pack[i])) + " ";
return packet;
}
public static byte[] WriteBytes(byte[] bt1, byte[] bt2)
{
byte[] bt = new byte[bt1.Length + bt2.Length];
for (int i = 0; i < bt1.Length; i++) bt[i] = bt1[i];
for (int i = 0; i < bt2.Length; i++) bt[i + bt1.Length] = bt2[i];
return bt;
}
public static byte[] ReadBytes(byte[] bt, int min, int len)
{
byte[] retbt = new byte[len];
for (int i = 0; i < len; i++) retbt[i] = bt[i + min];
return retbt;
}
public static byte[] GetOpcode(byte[] bt, byte opcode)
{
byte[] btret = new byte[bt.Length + 2];
btret[0] = opcode;
btret[1] = Convert.ToByte(bt.Length);
for (int i = 0; i < bt.Length; i++) btret[i + 2] = bt[i];
return btret;
}
}
}
Последний раз редактировалось FreePVP))); 20.01.2012 в 17:50.
|
|
|
Пользователь сказал cпасибо:
|
|
18.12.2011, 19:33
|
#2
|
|
|
|
Главнокомандующий
|
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: Работы с массивом байт Bytes.cs [C#]
Бред же.
|
|
|
18.12.2011, 20:25
|
#3
|
|
|
|
Капитан
|
Регистрация: 24.09.2010
Сообщений: 262
Популярность: 6723
Сказал(а) спасибо: 118
Поблагодарили 346 раз(а) в 104 сообщениях
|
Re: Работы с массивом байт Bytes.cs [C#]
Почему?
Удобно же не писать каждый раз лишние строки
|
|
|
19.12.2011, 00:29
|
#4
|
|
|
|
Главнокомандующий
|
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: Работы с массивом байт Bytes.cs [C#]
Выразился малость резко. Не рационально, не оптимизировано, велосипед. Реализация некоторых методов вообще абсурдна.
|
|
|
19.12.2011, 13:21
|
#5
|
|
|
|
Капитан
|
Регистрация: 24.09.2010
Сообщений: 262
Популярность: 6723
Сказал(а) спасибо: 118
Поблагодарили 346 раз(а) в 104 сообщениях
|
Re: Работы с массивом байт Bytes.cs [C#]
|
|
|
19.12.2011, 13:26
|
#6
|
|
|
|
Главнокомандующий
|
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: Работы с массивом байт Bytes.cs [C#]
|
|
|
19.12.2011, 17:28
|
#7
|
|
|
|
Капитан
|
Регистрация: 24.09.2010
Сообщений: 262
Популярность: 6723
Сказал(а) спасибо: 118
Поблагодарили 346 раз(а) в 104 сообщениях
|
Re: Работы с массивом байт Bytes.cs [C#]
|
|
|
19.12.2011, 18:40
|
#8
|
|
|
|
Главнокомандующий
|
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: Работы с массивом байт Bytes.cs [C#]
Чубарые методы: UStringRead, UStringWrite, GetByteFormat, GetOpcode
В других методах жестокий велосипед.
|
|
|
19.12.2011, 20:21
|
#9
|
|
|
|
Капитан
|
Регистрация: 24.09.2010
Сообщений: 262
Популярность: 6723
Сказал(а) спасибо: 118
Поблагодарили 346 раз(а) в 104 сообщениях
|
Re: Работы с массивом байт Bytes.cs [C#]
|
|
|
20.12.2011, 15:25
|
#10
|
|
|
|
Разведчик
|
Регистрация: 19.12.2011
Сообщений: 17
Популярность: 18
Сказал(а) спасибо: 12
Поблагодарили 4 раз(а) в 4 сообщениях
|
Re: Работы с массивом байт Bytes.cs [C#]
|
|
|
08.01.2012, 19:16
|
#11
|
|
|
|
Капитан
|
Регистрация: 24.09.2010
Сообщений: 262
Популярность: 6723
Сказал(а) спасибо: 118
Поблагодарили 346 раз(а) в 104 сообщениях
|
Re: Работы с массивом байт Bytes.cs [C#]
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
[Программа] CF BYTES BETA
|
naruto07101 |
Общение и обсуждение CrossFire |
9 |
17.12.2011 11:53 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 13:33.
|
|