PureBasic
PureBasic
Decode from Binary Encoding and Append String
Demonstrates how to decode from a binary encoding (base64, hex, url, etc.) and then append the decoded string to a Chilkat StringBuilder object.Note: This example uses the new DecodeAndAppend method added in Chilkat v9.5.0.87.
Chilkat PureBasic Downloads
IncludeFile "CkStringBuilder.pb"
Procedure ChilkatExample()
success.i = 0
; We have the string "MÆRSK" in two forms:
; This is the URL encoding of the windows-1252 representation.
nameWindows1252UrlEncoded.s = "M%C6RSK"
; This is the URL encoding of the utf-8 representation.
nameUtf8UrlEncoded.s = "M%C3%86RSK"
; Note that the result of loading a string into a string object
; is the same if we correctly specify the underlying charset encoding.
; In the above example, we have the same string, but in different charset encodings
; subsequently URL encoded.
sb1.i = CkStringBuilder::ckCreate()
If sb1.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkStringBuilder::ckDecodeAndAppend(sb1,nameWindows1252UrlEncoded,"url","windows-1252")
sb2.i = CkStringBuilder::ckCreate()
If sb2.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkStringBuilder::ckDecodeAndAppend(sb2,nameUtf8UrlEncoded,"url","utf-8")
; sb1 and sb2 both hold the same string.
bEqual.i = CkStringBuilder::ckContentsEqualSb(sb1,sb2,1)
Debug "bEqual = " + Str(bEqual)
; We can see the string is "MÆRSK" in both cases.
Debug CkStringBuilder::ckGetAsString(sb1)
Debug CkStringBuilder::ckGetAsString(sb2)
CkStringBuilder::ckDispose(sb1)
CkStringBuilder::ckDispose(sb2)
ProcedureReturn
EndProcedure