Delphi TIdBytes を String へ変換
Delphi Indy の TIdBytes を String へ文字コードを指定して変換
IdGlobal の BytesToString 関数を使うと
- S := BytesToString(Buffer, enDefault);
なんですが、デフォルトエンコード(Shift-jis)で処理してくれません(utf8等では可能かも)
また、警告も出たりします
TIdBytes の実態は TIdBytes = array of Byte; なので、単純に関数を作成して
- function IdByteToString(Buffer: TIdBytes; AEncoding: TEncoding): string;
- begin
- Result := AEncoding.GetString(TBytes(Buffer));
- end;
- S := IdByteToString(Buffer, TEncoding.Default);
コメント