Sample code for 30+ languages & platforms
SQL Server

Convert String to GSM 03.38

See more HTML-to-XML/Text Examples

Demonstrates how to convert a string to the GSM character set. For more information about the GSM character set, see GSM Character Set

Note: This example requires Chilkat v9.5.0.79 or greater. Support for the GSM character set was added in v9.5.0.79.

Chilkat SQL Server Downloads

SQL Server
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    -- Important: Do not use nvarchar(max).  See the warning about using nvarchar(max).
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @success int
    SELECT @success = 0

    -- Demonstrates how to convert a string to the GSM character set byte representation.

    DECLARE @s nvarchar(4000)
    SELECT @s = 'support@chilkatsoft.com, {abc}'

    -- In the above string the a-z letters have the same 1-byte values in the GSM character set.
    -- The '@' character is the 0x00 byte in GSM.
    -- The curly brace chars are 2-bytes each in GSM -- each beginning with the 0x1B escape char.
    -- The '.', ' ', and ',' are the same in GSM as us-ascii.

    -- Let's convert to GSM.

    -- bdGsm will contain the GSM bytes.
    DECLARE @bdGsm int
    EXEC @hr = sp_OACreate 'Chilkat.BinData', @bdGsm OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    -- Append the string to bdGsm.  The 2nd arg "gsm" tells AppendString to
    -- convert the incoming string to the gsm byte representation.
    EXEC sp_OAMethod @bdGsm, 'AppendString', @success OUT, @s, 'gsm'

    -- Let's examine what we have in hex:
    EXEC sp_OAMethod @bdGsm, 'GetEncoded', @sTmp0 OUT, 'hex'
    PRINT @sTmp0

    -- The result is:  737570706F7274006368696C6B6174736F66742E636F6D2C201B286162631B29

    -- Save the GSM bytes to a file.
    EXEC sp_OAMethod @bdGsm, 'WriteFile', @success OUT, 'qa_output/gsm.txt'

    EXEC @hr = sp_OADestroy @bdGsm


END
GO