Sample code for 30+ languages & platforms
PureBasic

Unicode Escape

Convert a string to Unicode escaped values.

Chilkat PureBasic Downloads

PureBasic
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