anchor.diff:  function StringToUtf8Bytes(const pvData: String; pvBytes: TBytes): Integer;
       overload;
   function StringToUtf8Bytes(const pvData: string; pvProcessEndByte: Boolean = false): TBytes; overload;
  +
  +
  +function StringWToUtf8Bytes(const Source: PDCharW; SourceChars:Cardinal;
  +    pvDest: TBytes; MaxDestBytes: Cardinal): Cardinal; overload;
  +
  +function StringWToUtf8Bytes(const pvSourceData: DStringW): TBytes; overload;
  +
  +
   /// <summary>
   ///
   /// </summary>
  
positive.code:   end;
  end;
  
  procedure WriteStringToUtf8NoBOMFile(const pvFile, pvData: String);
  var
    lvStream: TMemoryStream;
  {$IFDEF UNICODE}
    lvBytes:TBytes;
  {$ELSE}
    lvStr: AnsiString;
  {$ENDIF}
  begin
    lvStream := TMemoryStream.Create;
    try
      {$IFDEF UNICODE}
      lvBytes := TEncoding.UTF8.GetBytes(pvData);
      lvStream.WriteBuffer(lvBytes[0], Length(lvBytes));
      {$ELSE}
      lvStr := UTF8Encode(pvData);
      lvStream.WriteBuffer(PAnsiChar(lvStr)^, Length(lvStr));
      {$ENDIF}
      lvStream.SaveToFile(pvFile);
    finally
      lvStream.Free;
  
negative.code: /// </summary>
  function LoadStringFromUtf8NoBOMFile(pvFile:string): String;
  
  procedure WriteStringToUtf8NoBOMFile(const pvFile: String; const pvData:
      DStringW);
  
  /// <summary>
  ///   תַ,
  