Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
shum_ont
61 / 60 / 17
Регистрация: 17.02.2011
Сообщений: 161
1

восьмиразрядный код символа

05.11.2011, 22:37. Просмотров 2263. Ответов 8
Метки нет (Все метки)

каждый символ кодируется 8 - ми разрядным кодом (н-р 00100101) как узнать программно этот код
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2011, 22:37
Ответы с готовыми решениями:

Код символа £
Кто знает код символа £ ?

Получить код Unicode из символа
Можно как-нибудь получить код символа Unicode? Например: ₽ - U+20BD @ -...

Вопрос про код символа
Такая задача: составить программу, которая запрашивает у пользователя символ, а...

Выдать код символа, введенного пользователем
Написать программу, которая выдает код символа, введенного пользователем....

Функция, которая показывает ASCII код символа
Какая есть функция в Delphi подобная Asc(показывает ASCII код символа) в VB?

8
Апострофф
Заблокирован
05.11.2011, 22:46 2
Цитата Сообщение от F1
Функция ord позволяет определить код символа, который передается ей в качестве параметра
А перевести в двоичную запись - тем на эту тему немерено
0
shum_ont
61 / 60 / 17
Регистрация: 17.02.2011
Сообщений: 161
05.11.2011, 22:58  [ТС] 3
Цитата Сообщение от Апострофф Посмотреть сообщение
Функция ord позволяет определить код символа, который передается ей в качестве параметра
ord работает тока с известными кодировками мне надо чтоб любой символ перевадился в байт код н-р >>> ï <<<...попробуйте переведите его...
0
Mawrat
12827 / 5735 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
06.11.2011, 12:36 4
Определение числа по его двоичной записи и определение соответствующего символа таблицы ANSI:
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
32
33
34
35
36
37
38
39
40
procedure TForm1.Button1Click(Sender: TObject);
const
  Base = 2;
var
  S : String;
  i, Len, Code, w : Integer;
begin
  //Читаем двоичную запись. Например: '00100101'.
  S := Edit1.Text;
  Len := Length(S);
  //Искомое число.
  Code := 0;
  //Вес младшего разряда.
  w := 1;
  //Проходим строку справа-налево: от младших разрядов - к старшим.
  for i := Len downto 1 do begin
    case S[i] of
      '0':;
      '1' : Code := Code + w; //Т. е.: Code := Code + 1 * w; 
      else
        raise Exception.Create(
          'Недопустимый символ в двоичной записи натурального числа.'
          + ' Действие отменено.'
        );
    end;
    //Вес разряда на следующей итерации.
    w := w * Base;
  end;
 
  S := 'Число в десятичной системе счисления: ' + IntToStr(Code) + '.';
  if Code > 255 then
    S := S + #10' Нет соответствующего символа в таблице ANSI.'
  else if Code < 32 then
    S := S + #10'Соответствующий символ в таблице ANSI'
      + ' не имеет видимого представления.'
  else
    S := S + #10'Соответствующий символ в таблице ANSI: "' + Chr(Code) + '".'
  ;
  ShowMessage(S);
end;
1
shum_ont
61 / 60 / 17
Регистрация: 17.02.2011
Сообщений: 161
06.11.2011, 12:48  [ТС] 5
как я понял этот код двоичную запись числа преобразует в 10-ную и ищет это число в таблице ASCII.... но мне нужно все с точностью наоборот т.е букву перевести в двоичный код....
0
shum_ont
61 / 60 / 17
Регистрация: 17.02.2011
Сообщений: 161
06.11.2011, 12:57  [ТС] 6
этот код не подходит мне нужно ... перевести >>> ï <<< в двоичный формат
0
Миниатюры
восьмиразрядный код символа  
Mawrat
12827 / 5735 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
06.11.2011, 13:54 7
Цитата Сообщение от shum_ont Посмотреть сообщение
как я понял этот код двоичную запись числа преобразует в 10-ную
Нет, тот код в десятичную запись не преобразует - он преобразует просто в целое число, а затем, по этому числу определяет символ, согласно действующей в данный момент кодовой странице. В GUI приложениях русской Windows действует кодовая страница CP1251 (Win-1251). В консольных приложениях русской Windows и в русифицированной MS DOS действует кодовая страница CP866.
Цитата Сообщение от shum_ont Посмотреть сообщение
мне нужно ... перевести >>> ï <<< в двоичный формат
Это можно сделать так:
1. Без дополнения до 8 разрядов (без ведущих нулей, если значимых разрядов меньше восьми):
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
procedure TForm1.Button2Click(Sender: TObject);
const
  Base = 2;
var
  S : String;
  Code : Integer;
begin
  if Edit1.Text = '' then begin
    MessageDlg(
      'Символ не задан. Действие отменено.'
      ,mtWarning, [mbOK], 0
    );
    Exit;
  end;
 
  Code := Ord( Edit1.Text[1] );
  S := '';
  repeat
    case Code mod Base of
      0 : S := '0' + S;
      1 : S := '1' + S;
    end;
    Code := Code div Base;
  until Code = 0;
 
  ShowMessage('Соответствующий двоичный код: ' + S);
end;
2. С дополнением до 8 разрядов:
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
procedure TForm1.Button2Click(Sender: TObject);
const
  Base = 2;
var
  S : String;
  i, Code : Integer;
begin
  if Edit1.Text = '' then begin
    MessageDlg(
      'Символ не задан. Действие отменено.'
      ,mtWarning, [mbOK], 0
    );
    Exit;
  end;
 
  Code := Ord( Edit1.Text[1] );
  S := '';
  for i := 1 to 8 do begin
    case Code mod Base of
      0 : S := '0' + S;
      1 : S := '1' + S;
    end;
    Code := Code div Base;
  end;
 
  ShowMessage('Соответствующий двоичный код: ' + S);
end;
2
shum_ont
61 / 60 / 17
Регистрация: 17.02.2011
Сообщений: 161
06.11.2011, 14:04  [ТС] 8
спасибо работает
0
taras atavin
4204 / 1765 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
06.11.2011, 14:09 9
Цитата Сообщение от shum_ont Посмотреть сообщение
ord работает тока с известными кодировками мне надо чтоб любой символ перевадился в байт код
Во-первых ни одна функция, или целиком программа не работает, сама не зная с чем. Во-вторых без известной кодировки ты вообще не получишь символа, так как в компе, как у Платона, всё есть число, а символ получается из кода и кодировки (не наоборот). А в третьих байт-код - это совсем другое.
0
06.11.2011, 14:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2011, 14:09

Вывести код символа при нажатии клавиши
Нужно, чтобы при нажатии клавиши с символом, выводился код этого символа,...

Расшифровать строку, изменив код каждого символа строки на N
Дана зашифрованная строка и ключ для расшифровки, представляющий собой число N....

Как вывести ascii код символа в мемо делфи
Мемо вроде символы принимает же, нужно вывести в мемо примерно вот такую елку,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru