Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: Sounddatei als Blob in SQLite
14. Nov 2014, 13:34
Da würde ich mal sagen, da hat jemand ganze Arbeit geleistet und die binären Daten als string eingelesen (natürlich Unicode -> UTF16 -> 2 Bytes pro Zeichen) und dann in die Datenbank geschrieben.
Respekt ... da wusste einer aber ganz genau Bescheid, was er da tut
Dir ist schon bewusst, um was für eine Codierung es sich handelt? TEncoding.BigEndianUnicode
.
Kleines Beispiel:
Delphi-Quellcode:
program dp_182745;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
procedure OutputBytes( ABytes: TBytes );
var
LIdx: Integer;
begin
for LIdx := Low( ABytes ) to High( ABytes ) do
Write( Format( ' %2.2x ', [ABytes[LIdx]] ) );
WriteLn;
end;
procedure Sample;
var
LData: TBytes;
LDataStr: string;
begin
LData := TBytes.Create( $00, $00, $00, $00, $00, $00, $00, $1C, $00, $66, $00, $74, $00, $79, $00, $70, $00, $4D, $00, $34, $00, $41, $00, $20 );
OutputBytes( LData );
LDataStr := TEncoding.BigEndianUnicode.GetString( LData );
LData := TEncoding.ANSI.GetBytes( LDataStr );
OutputBytes( LData );
end;
begin
try
Sample;
except
on E: Exception do
WriteLn( E.ClassName, ' : ', E. Message );
end;
ReadLn;
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)
|
|
Zitat
|