Buffer.GetString

From SunFlurry wiki
Revision as of 20:03, 18 February 2022 by 1>Admin
Jump to: navigation, search
  GetString (Получение данных)
Объект:Буфер
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число, чтение за пределами буфера.
Визуальность:Нет

Функция получает однобайтовую строку в указанной кодировке возвращает ее в виде ANSI строки, если кодовая страница кодировки равна нулю, или в виде UFT-16 строки, если кодовая страница не равна нулю.

Примеры кодов некоторых кириллических и прочих кодировок:

  • 0 -- ANSI (текущая системная кодировка)
  • 866 -- Кириллица OEM
  • 1200 -- UTF-16LE (стандарное многобайтовое строковое представление в системе)
  • 1201 -- UTF-16BE (стандарное многобайтовое строковое представление в системе, с переставленными местами байтами)
  • 1251 -- Кириллица Windows
  • 1252 -- Стандартная латинская кодировка Windows (латиница-1)
  • 20866 -- Кириллица KOI-8
  • 65000 -- UTF-7
  • 65001 -- UTF-8

Синтаксис

Buffer.GetString(<Индекс буфера (INT)>,<Размер строки в байтах (INT)>,<Кодовая страница (INT)>=0):<Результирующая строка (STRING)>

Аргументы

  • <Индекс буфера (INT)> - Позиция в буфере для чтения. Адресация буфера начинается с нуля.
  • <Размер строки в байтах (INT)> - (необязательный аргумент) Количество байт для помещения в строку перед перекодированием. Если этот аргумент пропущен или равен нулю, будет получена строка начинающая с указанного индекса и до первого байта с нулевым символом или до конца буфера, если нулевой символ не будет найден.
  • <Кодовая страница (INT)> - (необязательный аргумент) Кодовая страница для перекодирования строки в Unicode. Если значение равно нулю или не указано, полученные данные изменены не будут и полученная строка будет иметь кодировку ANSI.

Возвращаемое значение

Возвращается строковое значение.

Примеры

аБуф:=Buffer.Create();
аБуф.Fill(0,65536,16961,1);
//Будет выведено "ABABABABABABABAB"
Message(аБуф.GetString(0,16));