PureBasic
PureBasic
Unicode Escape
Convert a string to Unicode escaped values.Chilkat PureBasic Downloads
IncludeFile "CkStringBuilder.pb"
Procedure ChilkatExample()
success.i = 0
sb.i = CkStringBuilder::ckCreate()
If sb.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
str.s = "bôn"
charset.s = "not_used"
; Unicode escape all chars using \uHHHH
success = CkStringBuilder::ckSetString(sb,str)
CkStringBuilder::ckEncode(sb,"unicode-escape-all",charset)
Debug CkStringBuilder::ckGetAsString(sb)
; Output is \u0062\u00f4\u006e
; Unicode escape only 8bit chars using \uHHHH
success = CkStringBuilder::ckSetString(sb,str)
CkStringBuilder::ckEncode(sb,"unicode-escape-8bit",charset)
Debug CkStringBuilder::ckGetAsString(sb)
; Output is b\u00f4n
; To use uppercase hex chars (A-F), add "-upper" to the encoding name
success = CkStringBuilder::ckSetString(sb,str)
CkStringBuilder::ckEncode(sb,"unicode-escape-all-upper",charset)
Debug CkStringBuilder::ckGetAsString(sb)
; Output is \u0062\u00F4\u006E
; Unicode escape all chars using \u{HHHH}
success = CkStringBuilder::ckSetString(sb,str)
CkStringBuilder::ckEncode(sb,"unicode-escape-all-curly-upper",charset)
Debug CkStringBuilder::ckGetAsString(sb)
; Output is \u{0062}\u{00F4}\u{006E}
; Unicode escape 8bit chars using HTML hex &#xH;
success = CkStringBuilder::ckSetString(sb,str)
CkStringBuilder::ckEncode(sb,"unicode-escape-8bit-html-hex",charset)
Debug CkStringBuilder::ckGetAsString(sb)
; Output is bôn
; Unicode escape all chars using HTML decimal &#D;
success = CkStringBuilder::ckSetString(sb,str)
CkStringBuilder::ckEncode(sb,"unicode-escape-all-html-dec",charset)
Debug CkStringBuilder::ckGetAsString(sb)
; Output is bôn
; Unicode escape all chars using u+HHHH
success = CkStringBuilder::ckSetString(sb,str)
CkStringBuilder::ckEncode(sb,"unicode-escape-all-plus",charset)
Debug CkStringBuilder::ckGetAsString(sb)
; Output is u+0062u+00f4u+006e
; Unicode escape 8bit chars using angled brackets <HHHH>
success = CkStringBuilder::ckSetString(sb,str)
CkStringBuilder::ckEncode(sb,"unicode-escape-8bit-angle-upper",charset)
Debug CkStringBuilder::ckGetAsString(sb)
; Output is b<00F4>n
CkStringBuilder::ckDispose(sb)
ProcedureReturn
EndProcedure