Sample code for 30+ languages & platforms
Tcl

UN/EDIFACT Syntax Level A Encoding/Decoding

See more Encryption Examples

Demonstrates the new "eda" encoding that can be used throughout Chilkat starting in v9.5.0.65.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

# Note: Requires Chilkat v9.5.0.65 or greater.

set sb [new_CkStringBuilder]

CkStringBuilder_Append $sb "The 5 men of 223rd St"
puts [CkStringBuilder_getAsString $sb]

# Encode the utf-8 byte representation of the string in the 
# UN/EDIFACT syntax level A character set.
CkStringBuilder_Encode $sb "eda" "utf-8"
puts [CkStringBuilder_getAsString $sb]

# EDA Output should be: BTME027FCF6CFARFI94JT6.)F(14KJ2U

# Decode back to the original string.
CkStringBuilder_Decode $sb "eda" "utf-8"
puts [CkStringBuilder_getAsString $sb]
puts "----"

# 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
set crypt [new_CkCrypt2]

CkCrypt2_put_CryptAlgorithm $crypt "aes"
CkCrypt2_put_CipherMode $crypt "cbc"
CkCrypt2_put_KeyLength $crypt 256
CkCrypt2_put_EncodingMode $crypt "eda"

set ivHex "000102030405060708090A0B0C0D0E0F"
CkCrypt2_SetEncodedIV $crypt $ivHex "hex"
set keyHex "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"
CkCrypt2_SetEncodedKey $crypt $keyHex "hex"

set encStr [CkCrypt2_encryptStringENC $crypt "The quick brown fox jumps over the lazy dog."]
# The output is UN/EDIFACT syntax level A 
puts "$encStr"

# Now decrypt:
set decStr [CkCrypt2_decryptStringENC $crypt $encStr]
puts "$decStr"

delete_CkStringBuilder $sb
delete_CkCrypt2 $crypt