/// <summary> /// Writes a string in UTF-8 encoding without leading length and without NUL-termination. /// </summary> /// <param name="text">The string to write.</param> /// <returns>The number of bytes written.</returns> public unsafe int WriteVanillaString(string text) { if (string.IsNullOrEmpty(text)) { return(0); } int requiredSize = Encoding.UTF8.GetByteCount(text); if (size < requiredSize) { writer.flush(this, requiredSize + 1024); next.WriteVanillaString(text); return(requiredSize); } fixed(char *chars = text) fixed(byte *bData = data) requiredSize = Encoding.UTF8.GetBytes(chars, text.Length, bData + position, size); size -= requiredSize; position += requiredSize; return(requiredSize); }
public int WriteVanillaString(string text) { return(currentSegment.WriteVanillaString(text)); }