Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Строку в ASCII  (Прочитано 2685 раз)

andrei_it

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Строку в ASCII
« : 24 Марта 2020, 10:55:48 »
     Подскажите как строку перевести в ASCII

например текст : Тест


Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Строку в ASCII
« Ответ #1 : 24 Марта 2020, 11:26:55 »
Здравствуйте.

Чтобы получить код символа нужно использовать функцию Ord. Если нужны коды для ASCII в русской кодировке (как в этой таблице), то начальная строка должна иметь тип AnsiString, например:
Код: (delphi)
var
  i: Integer;
  aStr: AnsiString;
  aResult: string;
begin
  aStr := 'Тест';
  aResult := '';
  for i := 1 to Length(aStr) do
    aResult := aResult + IntToStr(Ord(aStr[i]));
end.
После выполнения этого кода в переменной aResult будет такая строка: '210 229 241 242' (без пробелов).

Если переводить в коды Unicode-строку (тип string), вот так:
Код: (delphi)
var
  i: Integer;
  aStr: string;
  aResult: string;
begin
  aStr := 'Тест';
  aResult := '';
  for i := 1 to Length(aStr) do
    aResult := aResult + IntToStr(Ord(aStr[i]));
end.
, то в результате мы получим Unicode коды и в aResult будет такая строка: '1058 1077 1089 1090' (без пробелов).

andrei_it

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: Строку в ASCII
« Ответ #2 : 24 Марта 2020, 11:34:46 »
Благодарю!