Difference between revisions of "Buffer.GetString"
m (1 revision imported) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 19: | Line 19: | ||
== Синтаксис == | == Синтаксис == | ||
<code> | <code> | ||
− | {{Grey|Buffer.}}'''GetString'''(''<Индекс буфера (INT)>'', | + | {{Grey|Buffer.}}'''GetString'''(''<Индекс буфера (INT)>''{{Optional|,<Размер строки в байтах (INT)>,<Кодовая страница (INT)>{{Default|{{Eq}}0}}}}):''<Результирующая строка (STRING)>'' |
</code> | </code> | ||
==== Аргументы ==== | ==== Аргументы ==== | ||
* <code>''<Индекс буфера (INT)>''</code> - Позиция в буфере для чтения. Адресация буфера начинается с нуля. | * <code>''<Индекс буфера (INT)>''</code> - Позиция в буфере для чтения. Адресация буфера начинается с нуля. | ||
− | * <code>''<Размер строки в байтах (INT)>''</code> - Количество байт для помещения в строку перед перекодированием. | + | * <code>''<Размер строки в байтах (INT)>''</code> - {{Optional}} Количество байт для помещения в строку перед перекодированием. Если этот аргумент пропущен или равен нулю, будет получена строка начинающая с указанного индекса и до первого байта с нулевым символом или до конца буфера, если нулевой символ не будет найден. |
* <code>''<Кодовая страница (INT)>''</code> - {{Optional}} Кодовая страница для перекодирования строки в Unicode. Если значение равно нулю или не указано, полученные данные изменены не будут и полученная строка будет иметь кодировку ANSI. | * <code>''<Кодовая страница (INT)>''</code> - {{Optional}} Кодовая страница для перекодирования строки в Unicode. Если значение равно нулю или не указано, полученные данные изменены не будут и полученная строка будет иметь кодировку ANSI. | ||
Latest revision as of 11:04, 13 March 2022
GetString (Получение данных) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция получает однобайтовую строку в указанной кодировке возвращает ее в виде ANSI строки, если кодовая страница кодировки равна нулю, или в виде UFT-16 строки, если кодовая страница не равна нулю.
Примеры кодов некоторых кириллических и прочих кодировок:
- -1 -- В функциях загрузки используется как псевдо-кодировка для отключения проверки BOM, загрузка будет происходить безусловно в строку ANSI без какой-либо перекодировки.
- 0 -- ANSI (текущая системная кодировка). При загрузке в такой кодировке, функции загрузки обычно проверяют наличие BOM, если он есть загружают в соответствии с ним.
- 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));