Chilkat v11.3.0 Release Notes

Pinned December 16, 2025

  The main features of this release focus on Chilkat’s Ai class, enabling interactive AI response streaming directly into embedded desktop application browsers. It supports Azure, custom base URLs for OpenAI-compatible providers, and local providers like Ollama. ✨ New Features Ai Real-Time Streaming AI Responses to Embedded Browsers in Desktop Apps — Stream AI responses […]

Chilkat v11.2.0 Release Notes

Pinned November 3, 2025

Previous Version: Chilkat v11.1.0 Release Notes The main addition in v11.2.0 is the Chilkat.Ai class, and the Chilkat.StringBuilder.MarkdownToHtml method. Ai: The Chilkat AI class provides a unified API for interacting with different AI providers: OpenAI, Google, Claude, xAI, Perplexity, and DeepSeek. It provides functionality for conversation management, multimodal inputs, and streaming mode. Markdown to HTML […]

Semantic Versioning Starting with Chilkat 10.0.0

Pinned September 26, 2024

Starting with the v10.0.0 release (end of September 2024), Chilkat moves to standard semantic versioning.   Prior to this release, for various technical reasons, Chilkat was stuck with versions 9.5.0.xx, where only xx changed. For this first leap to semantic versioning, where the major version changes to 10 (from 9), there are no backward incompatible changes.  […]

C++ String Compression: PPMD, Deflate, BZip2, LZW

May 1, 2009 in Uncategorized

This C++ example demonstrates string compression using four different compression algorithms: PPMD, Deflate, BZip2, and LZW. void TestCompression(const char *algorithm) { CkCompression comp; comp.put_Algorithm(algorithm); printf (“algorithm: %s\n”,algorithm); CkByteData compressedData; comp.CompressString(“abc abc abc abc abc abc abc abc abc abc abc 123 123 abc 123”,compressedData); // Get the compressed data: const unsigned char *pCompressedData = compressedData.getBytes(); […]

Inflate from Zip to memory in C++

December 26, 2008 in Uncategorized

This example demonstrates how to inflate in-memory from a Zip in C++: CkZip zip; … // Assume we have a CkZip object and a .zip has been loaded. // It may have been loaded from a file by calling OpenZip, or from an // in-memory image of a .zip by calling OpenFromMemory. // (or any […]

Non-English String Literals in C++ Source Code

December 26, 2008 in Uncategorized

When a C++ compiler compiles a C++ source file, it must process the bytes according to a character encoding and that is typically ANSI.  ANSI is not a character encoding, it is simply a keyword that says “Use the default multi-byte character encoding for this computer based on its current locale.”   Therefore, if your program […]

Utf8 C++ property allows for utf-8 or ANSI “const char *”

November 19, 2008 in Uncategorized

All Chilkat C++ classes have a Utf8 property. For example: class CkEmail : public CkObject { public: CkEmail(); virtual ~CkEmail(); … bool get_Utf8(void) const; void put_Utf8(bool b); … const char *addFileAttachment(const char *fileName); … }; The Utf8 property controls how the bytes pointed by “const char *” arguments are interpreted. By default, “const char *” […]

C# Encrypting/Decrypting with Stream

August 18, 2008 in Uncategorized

This C# example demonstrates how to use Chilkat.Crypt2 to encrypt and decrypting using the .NET FileStream class: Chilkat.Crypt2 crypt = new Chilkat.Crypt2(); bool success = crypt.UnlockComponent("Anything for 30-day trial"); if (!success) { MessageBox.Show(crypt.LastErrorText); return; } crypt.CryptAlgorithm = "aes"; crypt.CipherMode = "cbc"; crypt.KeyLength = 128; crypt.SetEncodedIV("0000000000000000", "hex"); crypt.SetEncodedKey("abcdefghijklmnop", "ascii"); // Open input and output files as […]

Choosing Correct C++ Library for Linking

May 28, 2008 in Uncategorized

When linking with a Chilkat C++ library, you must choose the .lib that matches your project’s “code generation” property setting. For example, in VC++ 8.0, these are the Chilkat .lib’s: ChilkatDbg.lib ChilkatDbgDll.lib ChilkatRel.lib ChilkatRelDll.lib If “Dll” is in the library name, it means that you are *not* statically linking with the C runtime libs. Just […]

C# 3DES (Triple-DES) Test Vector

May 22, 2008 in Uncategorized

This post provides C# sample code for matching a test vector (known answer test). 3DES Settings: ECB Mode 192-bit key (i.e. 3 8-bit keys) ASCII Key Bytes: 1234567890123456ABCDEFGH ASCII Text to Encrypt: The quick brown fox jumped over the lazy dog Pads with zero bytes Hexadecimalized Encrypted Result: 13d4d3549493d2870f93c3e0812a06de467e1f9c0bfb16c0 70ede5cabbd3ca62f217a7ae8d47f2c7bf62eb309323b58b C# Code: string keyAscii = […]