Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) UN/EDIFACT Syntax Level A Encoding/DecodingDemonstrates the new "eda" encoding that can be used throughout Chilkat starting in v9.5.0.65.
-- 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) -- Note: Requires Chilkat v9.5.0.65 or greater. DECLARE @sb int -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sb OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int EXEC sp_OAMethod @sb, 'Append', @success OUT, 'The 5 men of 223rd St' EXEC sp_OAMethod @sb, 'GetAsString', @sTmp0 OUT PRINT @sTmp0 -- Encode the utf-8 byte representation of the string in the -- UN/EDIFACT syntax level A character set. EXEC sp_OAMethod @sb, 'Encode', @success OUT, 'eda', 'utf-8' EXEC sp_OAMethod @sb, 'GetAsString', @sTmp0 OUT PRINT @sTmp0 -- EDA Output should be: BTME027FCF6CFARFI94JT6.)F(14KJ2U -- Decode back to the original string. EXEC sp_OAMethod @sb, 'Decode', @success OUT, 'eda', 'utf-8' EXEC sp_OAMethod @sb, 'GetAsString', @sTmp0 OUT PRINT @sTmp0 PRINT '----' -- The following requires the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. -- The "eda" encoding can be used anywhere within Chilkat. -- For example, with the Crypt2 API DECLARE @crypt int -- Use "Chilkat_9_5_0.Crypt2" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Crypt2', @crypt OUT EXEC sp_OASetProperty @crypt, 'CryptAlgorithm', 'aes' EXEC sp_OASetProperty @crypt, 'CipherMode', 'cbc' EXEC sp_OASetProperty @crypt, 'KeyLength', 256 EXEC sp_OASetProperty @crypt, 'EncodingMode', 'eda' DECLARE @ivHex nvarchar(4000) SELECT @ivHex = '000102030405060708090A0B0C0D0E0F' EXEC sp_OAMethod @crypt, 'SetEncodedIV', NULL, @ivHex, 'hex' DECLARE @keyHex nvarchar(4000) SELECT @keyHex = '000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F' EXEC sp_OAMethod @crypt, 'SetEncodedKey', NULL, @keyHex, 'hex' DECLARE @encStr nvarchar(4000) EXEC sp_OAMethod @crypt, 'EncryptStringENC', @encStr OUT, 'The quick brown fox jumps over the lazy dog.' -- The output is UN/EDIFACT syntax level A PRINT @encStr -- Now decrypt: DECLARE @decStr nvarchar(4000) EXEC sp_OAMethod @crypt, 'DecryptStringENC', @decStr OUT, @encStr PRINT @decStr EXEC @hr = sp_OADestroy @sb EXEC @hr = sp_OADestroy @crypt END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.