Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2012, 17:37   #1
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию Кодировка в delphi

Всем доброго времени суток! Подскажите пожалуйста как можно в заданном тексте отвести 4 байта под одну букву. И как сделать чтобы каждая буква кодировалась следующим образом(то есть под каждую букву отводилось по четыре байта). Возможно это для кого-то легко, так что помогите пожалуйста разобраться, что бы для меня это тоже было понятно и легко.

текст:"компы"
Буква: Код:
к 0000
о 0001
м 0010
п 0011
ы 0100
Начинающий програм вне форума Ответить с цитированием
Старый 30.10.2012, 18:28   #2
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

двух мерный массив создать может? Кодировать понимаю самому надо?
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 30.10.2012, 19:36   #3
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию

Извините пожалуйста, я не так задал вопрос. Как под одну букву отвести 4 бита а не байта? При помощи функции format это можно сделать, если да, продемонстрируйте пожалуйста это на моем примере.

Последний раз редактировалось Начинающий програм; 30.10.2012 в 19:49.
Начинающий програм вне форума Ответить с цитированием
Старый 30.10.2012, 20:11   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Как под одну букву отвести 4 бита а не байта?
массивчик - для каждой буквы ставите в соотвествие её код.
для 4-х бит хватит одного байта
(старшая часть всегда будет нулевая, но Вам она и не нужна, будете использовать младшую часть байта).

И помните, что таким образом Вы сможете закодировать только 16 букв.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.10.2012, 20:32   #5
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию

Спасибо, я попробую!
Начинающий програм вне форума Ответить с цитированием
Старый 31.10.2012, 04:18   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
function encode4(const s: rawbytestring): rawbytestring;
const
  in1 = 'компы';
  out1 = #0#1#2#3#4#5;
var
  i, c: integer;
begin
  result := '';
  for i := 1 to length(s) do
  begin
    c := pos(s[i], in1);
    if c > 0 then
      result := result + out1[c];
  end;
end;

function decode4(const s: rawbytestring): rawbytestring;
const
  in1 = 'компы';
  out1 = #0#1#2#3#4#5;
var
  i, c: integer;
begin
  result := '';
  for i := 1 to length(s) do
  begin
    c := pos(s[i], out1);
    if c > 0 then
      result := result + in1[c];
  end;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi 2010 и Кодировка cargo29 Общие вопросы Delphi 21 04.08.2011 15:15
Delphi, кодировка и поиск saxarok Помощь студентам 1 28.12.2010 23:19
ASCI кодировка (Delphi) VadEr Помощь студентам 2 01.07.2009 00:50
Кодировка в MySQL и Delphi Droid БД в Delphi 2 18.06.2009 00:08
Кодировка Клавиатуры в delphi Neymexa Помощь студентам 2 30.12.2008 19:55