Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Cpp nach Delphi übersetzung

  Alt 3. Nov 2015, 12:01
Sollte es jemanden geben, der die paar Zeilen mit TEncoding für UniCodeString<->UTF8ByteArray griffbereit oder im Gedächtnis hat, wäre das auch hier sicher helfen
Meinst du so etwas?
Delphi-Quellcode:
program dp_187166;

{$APPTYPE CONSOLE}
{$R *.res}

uses
  System.Generics.Collections,
  System.SysUtils;

function PByteArrayToString( const Data: PByteArray; const DataCount: Integer; const Encoding: TEncoding ): string;
var
  buffer: TBytes;
begin
  SetLength( buffer, DataCount );
  TArray.Copy<Byte>( Data^, buffer, DataCount );
  Result := Encoding.GetString( buffer );
end;

procedure Main;
const
  expectedStr = 'foobar';
var
  buffer : TArray<Byte>;
  actualStr: string;
begin
  buffer := TEncoding.UTF8.GetBytes( expectedStr );
  actualStr := PByteArrayToString( @buffer[ 0 ], Length( buffer ), TEncoding.UTF8 );
  Assert( actualStr = expectedStr );
end;

begin
  try
    Main;
  except
    on E: Exception do
      Writeln( E.ClassName, ': ', E.Message );
  end;

end.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat