Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Как преобразовать String в Binary и наоборот

Delphi , Синтаксис , Преобразования

Как преобразовать String в Binary и наоборот

Автор: Rem


function BinStrToByte(a_sBinStr: string): byte;
var
 i: integer;
begin
 Result := 0;
 for i := 1 to length(a_sBinStr) do
   Result := (Result shl 1) or byte(a_sBinStr[i] = '1');
end;

function ByteToBinStr(a_bByte: byte): string;
var
 i: integer;
begin
 SetLength(Result, 8);
 for i := 8 downto 1 do
 begin
   Result[i] := chr($30 + (a_bByte and 1));
   a_bByte := a_bByte shr 1;
 end;
end;

// Примечание: вторая функция использует тот факт,
// что в таблице ANSI коды '0' = $30 и '1' = $31

Here is the translation of the provided text into Russian:

Код для программирования на языке Delphi конвертирует строку в двоичном формате в байт и обратно. Вот разбивка функций:

BinStrToByte

функция BinStrToByte(a_sBinStr: строка): байт;
var
  i: целое;
begin
  Результат := 0;
  для i := 1 до длины(a_sBinStr) do
    Результат := (Результат shl 1) or байт(a_sBinStr[i] = '1');
end;

Функция принимает двоичную строку в качестве входного параметра и возвращает значение типа байт. Она проходит по строке, сдвигая результат влево на один бит (shl 1) и затем OR-ит его с маской, основанной на текущем символе строки (либо '0', либо '1'). Полученное значение типа байт представляет собой двоичную строку.

ByteToBinStr

функция ByteToBinStr(a_bByte: байт): строка;
var
  i: целое;
begin
  SetLength(Результат, 8);
  для i := 8 до 1 do
  begin
    Результат[i] := chr($30 + (a_bByte and 1));
    a_bByte := a_bByte shr 1;
  end;
end;

Функция принимает значение типа байт в качестве входного параметра и возвращает двоичную строку. Она создает пустую строку длиной 8 символов, а затем проходит по значению типа байт от наибольшего значащего бита до наименьшего значащего бита. Для каждой итерации: 1. Она устанавливает соответствующий символ в результате в виде ASCII-код '0' ($30) плюс значение текущего бита (либо 0, либо 1). 2. Она сдвигает значение типа байт вправо на один бит (shr 1).

Полученная двоичная строка представляет собой входное значение типа байт.

Примечание: Вторая функция использует факт, что в таблице кодировки ANSI '0' имеет ASCII-код $30, а '1' имеет ASCII-код $31.

В целом, эти функции предоставляют удобный способ конвертации между двоичными строками и значениями типа байт в Delphi.

Статья описывает два функционала для преобразования строковых данных (String) в бинарные (Binary) и обратно, написанные на языке программирования Pascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Преобразования ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 19:51:47/0.0075681209564209/2