anchor.diff:  /// </summary>
   function LoadStringFromUtf8NoBOMFile(pvFile:string): String;
   
  -procedure WriteStringToUtf8NoBOMFile(const pvFile, pvData: String);
  +procedure WriteStringToUtf8NoBOMFile(const pvFile: String; const pvData:
  +    DStringW);
   
   /// <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: end;
  
  procedure TDStringBuilder.SaveToStream(pvStream:TStream);
  var
    l:Integer;
  begin
    l := self.Length;
  {$IFDEF UNICODE}
    l := l shl 1;
  {$ENDIF}
  
    if l <> 0 then pvStream.WriteBuffer(FData[0], l);
  end;
  
  function TDStringBuilder.ToString: string;
  