Delphi ActiveX
Delphi ActiveX
Decode 2-digit Hex Escaped
See more HTML-to-XML/Text Examples
Demonstrates how to replace escaped us-ascii chars such as \x7b and \x22 with the chars.Chilkat Delphi ActiveX Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;
...
procedure TForm1.Button1Click(Sender: TObject);
var
s: WideString;
sb: TChilkatStringBuilder;
numReplaced: Integer;
begin
// We have the following string with some us-ascii chars escaped like this:
s := '\x7b\x22responseContext\x22:\x7b\x22';
// Note: The above escaping does not conform to any standard format (as far as I know).
// Chilkat does not have anything to decode from the above.
// However, we can 1st transform into a standard format, and then decode..
// JSON escapes chars outside us-ascii like this: "Hello, \ud83d\ude03!"
// We can transform the above to this: "\u007b\u0022responseContext\u0022:\u007b\u0022"
// And then decode..
sb := TChilkatStringBuilder.Create(Self);
sb.Append(s);
numReplaced := sb.Replace('\\x','\\u00');
// Now decode from "json" escapes
sb.Decode('json','utf-8');
// Show the decoded string
Memo1.Lines.Add(sb.GetAsString());
// Here's the result: {"responseContext":{"
end;