# Method Stdio.Buffer()->add_hstring()

Method add_hstring

  `Buffer add_hstring(string(8bit) data, int size_size)`
  `Buffer add_hstring(Stdio.Buffer data, int size_size)`
  `Buffer add_hstring(System.Memory data, int size_size)`
  `Buffer add_hstring(String.Buffer data, int size_size)`
  `Buffer add_hstring(int(8bit) data, int size_size)`
  `Buffer add_hstring(array data, int size_size)`
  `Buffer add_hstring(int|string(8bit)|Stdio.Buffer|System.Memory|array data, int size_size, int offset)`

Description

  Adds length of data followed by data to the buffer.

  This is identical to `sprintf("%"+size_size+"H",(string)Stdio.Buffer(data))` but significantly faster.

  size_size is the number of bytes used to represent the length of the data. It must be less than Int.NATIVE_MAX.

  offset is added to the length of the data prior to writing out the length. Typical usage involves adding size_size to account for the room used by the size.

  The supported data argument types are

  `int(8bit)` | An eight bit character.
  `string(8bit)` | An eight bit string.
  `System.Memory` | A chunk of memory. The whole memory area is added.
  `Stdio.Buffer` | A chunk of memory. The whole memory area is added.
  `String.Buffer` | A chunk of memory. The whole memory area is added.
  `array` | Add all elements in the array individually. Each element may be any one of the types listed here.