SQL Server
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 SetNote: 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
-- 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