(PureBasic) Decode 2-digit Hex Escaped
Demonstrates how to replace escaped us-ascii chars such as \x7b and \x22 with the chars.
IncludeFile "CkStringBuilder.pb"
Procedure ChilkatExample()
; We have the following string with some us-ascii chars escaped like this:
s.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.i = CkStringBuilder::ckCreate()
If sb.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkStringBuilder::ckAppend(sb,s)
numReplaced.i = CkStringBuilder::ckReplace(sb,"\x","\u00")
; Now decode from "json" escapes
CkStringBuilder::ckDecode(sb,"json","utf-8")
; Show the decoded string
Debug CkStringBuilder::ckGetAsString(sb)
; Here's the result: {"responseContext":{"
CkStringBuilder::ckDispose(sb)
ProcedureReturn
EndProcedure
|