0 / 0 / 0
Регистрация: 04.01.2013
Сообщений: 4
1

Пытаюсь перевести файл в двоичный код

04.01.2013, 22:18. Показов 1866. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пожалуйста кто может помогите...
Ситуация такая нужно открыть файл в двоичном коде 10101110... и вывести в мемо...
вот делаю так... выходят 101010101 но код не правильный!
вместо этого 7897282529= выходят 1 и 0 которые обозначают это 085087085
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
////////////////////////////////////
function HexToBin(Hexadecimal: string): string;
const
  BCD: array [0..15] of string =
    ('0000', '0001', '0010', '0011', '0100', '0101', '0110', '0111',
    '1000', '1001', '1010', '1011', '1100', '1101', '1110', '1111');
var
  i: integer;
begin
  for i := Length(Hexadecimal) downto 1 do
    Result := BCD[StrToInt('$' + Hexadecimal[i])] + Result;
end;
///////////////////////
///////батон
Var    f:file;
    oneByte   : byte;
  s: string;
begin
   Memo1.Clear;
   AssignFile(f,'123.txt');//7897282529
  Reset(f, 1);
  while not Eof(f) do
  begin
    BlockRead(f, oneByte, 1);
    s:=s+ HexToBin(IntToStr(oneByte));
  end;
     Memo1.Text:=s;
  CloseFile(f);
  Edit1.Text:=inttostr(length(Memo1.Text));
Добавлено через 8 минут
вот так все работает Edit1.Text:= HexToBin(Edit1.Text); F=1111

Добавлено через 43 секунды
но нужно файл весь...

Добавлено через 32 секунды
что я не правильно делаю?
 Комментарий модератора 
Теги кода добавлены модератором. По правилам форума, код должен быть оформлен соответствующими тегами. Для оформления кода Delphi следует выделить этот код и на панели редактирования сообщения нажать кнопку: "DELPHI".
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.01.2013, 22:18
Ответы с готовыми решениями:

Перевести слово в двоичный код
как перевести слово в двоичный код? Например, слово ПРИМЕР программа выведет на экране как 011110...

Текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый
Всем привет. Есть такая задачка: "текстовый файл перевести в двоичный, а потом полученный двоичный...

Перевести строку в двоичный код
Доброго времени суток. Я ввожу строку например: string str = "Hello world"; Как мне теперь...

Перевести двоичный код в текст
Добрый день! Мне нужно перевести двоичный код из txt файла в текст на c# Нашел один метод,...

9
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
04.01.2013, 22:42 2
Цитата Сообщение от Mentis Посмотреть сообщение
7897282529
Это что, шестнадцатеричный код что ли ?
0
0 / 0 / 0
Регистрация: 04.01.2013
Сообщений: 4
04.01.2013, 22:46  [ТС] 3
Это внутри текстого редактора... а файлы в виндовсе в 16 сохраняются?

Добавлено через 1 минуту
ведь так...блин а что все правильно работает?
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
04.01.2013, 22:53 4
Цитата Сообщение от Mentis Посмотреть сообщение
Это внутри текстого редактора
Оно с луны туда, в редактор, свалилось ?
Ведь кто-то набирал там эту строку)
И этот кто-то, полагаю, при наборе должен был отдавать себе отчет в том что он набирает - то ли шестнадцатеричный код, то ли просто какие-то бессмысленные символы..


Цитата Сообщение от Mentis Посмотреть сообщение
а файлы в виндовсе в 16 сохраняются?
они сохраняются так как пожелает разработчик программы, создающей эти файлы.
0
0 / 0 / 0
Регистрация: 04.01.2013
Сообщений: 4
04.01.2013, 22:57  [ТС] 5
Что не так в коде?
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
04.01.2013, 23:09 6
Цитата Сообщение от Mentis Посмотреть сообщение
Что не так в коде?
Всё.
0
0 / 0 / 0
Регистрация: 04.01.2013
Сообщений: 4
04.01.2013, 23:14  [ТС] 7
аххааххахахаахха..... так функция работает... я видел на каком то форуме листинга нет.... там подобным кодом выводили в 10тичной....

Добавлено через 49 секунд
у меня тут BlockRead(f, oneByte, 1);
s:=s+ HexToBin(IntToStr(oneByte));
проблемы
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
04.01.2013, 23:53 8
Цитата Сообщение от Mentis Посмотреть сообщение
так функция работает
Ему задали простой и понятный уточняющий контрвопрос, от которого напрямую зависит ответ на "что я не правильно делаю" - является ли исходная строка "7897282529" последовательностью неких значений в шестнадцатеричном представлении , а он понес про "ахаха", про "функция работает", про "форумы" и прочую ахинею.

ппц.
0
4172 / 1822 / 218
Регистрация: 06.10.2010
Сообщений: 4,093
05.01.2013, 08:34 9
Массив байт в бит
0
8 / 8 / 0
Регистрация: 20.08.2012
Сообщений: 79
08.01.2013, 11:41 10
Цитата Сообщение от Mentis Посмотреть сообщение
Пожалуйста кто может помогите...
Ситуация такая нужно открыть файл в двоичном коде 10101110... и вывести в мемо...
вот делаю так... выходят 101010101 но код не правильный!
вместо этого 7897282529= выходят 1 и 0 которые обозначают это 085087085
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var
  Form1: TForm1;
  F:file of Byte;
  b:Byte;
implementation
 
{$R *.dfm}
 
function inttobin(value:Byte):string; //Функция для превращения байта в двоичный код
var I,p:Integer;
begin
Result:='';
for i:=7 downto 0 do begin
if value and (1 shl i)<>0 then Result:=Result+'1'
else Result:=Result+'0';
end;
if Result='' then Result:='0';
end;
 
procedure TForm1.btn1Click(Sender: TObject);
begin
if dlgOpen1.Execute then begin
 AssignFile(f,dlgOpen1.FileName);
 Reset(f);
  while not Eof(f) do
  begin
    read(f,b);
    Form1.mmo1.Lines.Add(inttobin(b));
  end;
end;
end;
Это мой вариант. Если что-то не понял прошу не ругать, а вежливо объяснить.
0
08.01.2013, 11:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2013, 11:41
Помогаю со студенческими работами здесь

как перевести двоичный код в десятичный?
У меня есть код, который переводит двоичный в десятичный Вот код: def bin_to_dec(digit):...

Перевести ASCII код в двоичный формат
Я считываю с файла слова.Оно переводится в ASCII код. Не получается перевести ASCII код в двоичный...

Перевести введенное пользователем число в двоичный код
Добрый день. Подскажите, пожалуйста.. тип данных int unsigned long. у этого типа 32 bits. ...

Как перевести изображение в двоичный код и обратно?
УВАЖАЕМЫЕ ТОВАРИЩИ! Подскажите, пожалуйста или лучше объясните как нужно написать код программки ....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru