PureBasic

StringByteLength()

Синтаксис

Result = StringByteLength(String$ [, Format])

Описание


Возвращает количество байтов, требуемых для хранения строки в памяти в указанном формате.

Параметры

String$ Строка, для которой требуется посчитать занимаемый объём памяти.
Format (дополн.) Формат, используемый для строки. Это может быть одно из следующих значений:
  #PB_Ascii  : Формат Ascii
  #PB_UTF8   : Формат UTF8 
  #PB_Unicode: Формат UTF16 (По умолчанию)

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

Количество байтов, требуемых для хранения строки в памяти в указанном формате.

Комментарии

Количество возвращаемых байтов не включает нулевой символ конца строки (NULL (код Ascii 0)). Размер нулевого символа составляет 1 байт в режиме ASCII и UTF-8 и 2 байта в режиме Unicode.

Пример

Debug StringByteLength("a", #PB_UTF8) ; Отобразит 2

Пример (фран.)

Text.s = "Salut !!!"

*mem = AllocateMemory(StringByteLength(Text) + SizeOf(CHARACTER))
CopyMemory(@Text, *mem, StringByteLength(Text) + SizeOf(CHARACTER))
Debug MemorySize(*mem)
Debug PeekS(*mem)
ShowMemoryViewer(*mem, MemorySize(*mem))

Поддерживаемые OS

Все

<- StrU() - Оглавление String - StringField()->