Chilkat C# Charset Class Reference

Charset

A component/class for converting character data from one encoding to another. This software is unique in that the data required for converting to/from the supported charsets is entirely embedded witin the Chilkat DLL/library. It does not depend on what code pages may or may not be installed on a particular computer. This allows programs to operate correctly regardless of the locale, OS version, or other factors.

Properties

public string AltToCharset {get; set; }

If the ErrorAction property is set to 6, then this property controls how errors are handled. It specifies an alternate "To" charset. When a character in the input data cannot be converted to the target charset, an attempt is made to convert it to the AltToCharset. If that fails, the input character is dropped.

public int ErrorAction {get; set; }

Controls how errors are handled. When a character in the input data cannot be converted to the target charset, the action taken is controlled by this property. The possible settings are: (0) drop the error characters, (1) substitute the data set by the SetErrorBytes or SetErrorString method, (2) convert to a hex-escaped string (&#xXXXX), (3) RESERVED, (4) RESERVED, (5) RESERVED, (6) convert the error character to the AltToCharset instead, if that fails then drop the character, (7) Pass non-convertible characters to the output unchanged.

public string FromCharset {get; set; }

Tells the charset converter the charset of the input data for a conversion. Possible values are:


us-ascii
unicode
unicodefffe
iso-8859-1
iso-8859-2
iso-8859-3
iso-8859-4
iso-8859-5
iso-8859-6
iso-8859-7
iso-8859-8
iso-8859-9
iso-8859-13
iso-8859-15
windows-874
windows-1250
windows-1251
windows-1252
windows-1253
windows-1254
windows-1255
windows-1256
windows-1257
windows-1258
utf-7
utf-8
utf-32
utf-32be
shift_jis
gb2312
ks_c_5601-1987
big5
iso-2022-jp
iso-2022-kr
euc-jp
euc-kr
macintosh
x-mac-japanese
x-mac-chinesetrad
x-mac-korean
x-mac-arabic
x-mac-hebrew
x-mac-greek
x-mac-cyrillic
x-mac-chinesesimp
x-mac-romanian
x-mac-ukrainian
x-mac-thai
x-mac-ce
x-mac-icelandic
x-mac-turkish
x-mac-croatian
asmo-708
dos-720
dos-862
ibm037
ibm437
ibm500
ibm737
ibm775
ibm850
ibm852
ibm855
ibm857
ibm00858
ibm860
ibm861
ibm863
ibm864
ibm865
cp866
ibm869
ibm870
cp875
koi8-r
koi8-u

public bool IsUnlocked {get; }

Returns true if the component is unlocked.

public string LastErrorHtml {get; }

Error information in HTML format for the last method called.

public string LastErrorText {get; }

Error information in plain-text format for the last method called.

public string LastErrorXml {get; }

Error information in XML format for the last method called.

public string LastInputAsHex {get; }

If SaveLast is set to true, then the input and output of a conversion is saved to allow the exact bytes that are sent to the converter to be seen (for debugging purposes). This property shows the last input data in a hexidecimalized string.

public string LastInputAsQP {get; }

If SaveLast is set to true, then the input and output of a conversion is saved to allow the exact bytes that are sent to the converter to be seen (for debugging purposes). This property shows the last input data in a quoted-printable string.

public string LastOutputAsHex {get; }

If SaveLast is set to true, then the input and output of a conversion is saved to allow the exact bytes that are sent to the converter to be seen (for debugging purposes). This property shows the last output data in a hexidecimalized string.

public string LastOutputAsQP {get; }

If SaveLast is set to true, then the input and output of a conversion is saved to allow the exact bytes that are sent to the converter to be seen (for debugging purposes). This property shows the last output data in a quoted-printable string.

public bool SaveLast {get; set; }

Tells the component to keep the input/output byte data in memory after a conversion is complete so the data can be examined via the LastInputAsHex/QP and LastOutputAsHex/QP properties. (for debugging purposes)

public string ToCharset {get; set; }

Tells the charset converter the target charset for a conversion. Possible values are:


us-ascii
unicode
unicodefffe
iso-8859-1
iso-8859-2
iso-8859-3
iso-8859-4
iso-8859-5
iso-8859-6
iso-8859-7
iso-8859-8
iso-8859-9
iso-8859-13
iso-8859-15
windows-874
windows-1250
windows-1251
windows-1252
windows-1253
windows-1254
windows-1255
windows-1256
windows-1257
windows-1258
utf-7
utf-8
utf-32
utf-32be
shift_jis
gb2312
ks_c_5601-1987
big5
iso-2022-jp
iso-2022-kr
euc-jp
euc-kr
macintosh
x-mac-japanese
x-mac-chinesetrad
x-mac-korean
x-mac-arabic
x-mac-hebrew
x-mac-greek
x-mac-cyrillic
x-mac-chinesesimp
x-mac-romanian
x-mac-ukrainian
x-mac-thai
x-mac-ce
x-mac-icelandic
x-mac-turkish
x-mac-croatian
asmo-708
dos-720
dos-862
ibm037
ibm437
ibm500
ibm737
ibm775
ibm850
ibm852
ibm855
ibm857
ibm00858
ibm860
ibm861
ibm863
ibm864
ibm865
cp866
ibm869
ibm870
cp875
koi8-r
koi8-u

public string Version {get; }

Returns the version of the component, such as "9.0.0"

Methods

public int CharsetToCodePage(string charsetName);

Converts a charset name to a code page number. For example, "iso-8859-1" converts to code page 28591.

public string CodePageToCharset(int codePage);

Converts a code page number to a charset name. For example, 65001 converts to "utf-8".

Returns a null on failure

public byte[] ConvertData(byte[] inData);

Converts character data from one charset to another. Before calling ConvertData, the FromCharset and ToCharset properties must be set to the source and destination charset names, such as "iso-8859-1" or "Shift_JIS".

Returns null on failure

public bool ConvertFile(string inFilename, string outFilename);

Converts a file from one character encoding to another. The FromCharset and ToCharset properties must be set to the source and destination character encodings before calling this method.

public byte[] ConvertFromUnicode(string inData);

Converts Unicode text to the charset specified by the ToCharset property.

Returns null on failure

public byte[] ConvertHtml(byte[] inData);

Converts HTML text from one character encoding to another. The FromCharset and ToCharset properties must be set prior to calling this method. This method automatically edits the META tag within the HTML that indicates the charset.

Returns null on failure

public bool ConvertHtmlFile(string inFilename, string outFilename);

Converts an HTML file from one character encoding to another. The FromCharset and ToCharset properties must be set prior to calling this method. This method automatically edits the META tag within the HTML that indicates the charset.

public string ConvertToUnicode(byte[] inData);

Converts multibyte character data to a Unicode string. The FromCharset property should be set before calling this method.

Returns a null on failure

public string EntityEncodeDec(string str);

To be documented soon...

public string EntityEncodeHex(string str);

To be documented soon...

public string GetHtmlCharset(byte[] inData);

Examines HTML text and extracts the charset name specified by the META tag, if present.

Returns a null on failure

public string GetHtmlFileCharset(string htmlFilename);

Examines an HTML file and extracts the charset name specified by the META tag, if present.

Returns a null on failure

public string HtmlEntityDecode(string inStr);

Decodes HTML entities. See http://www.w3.org/TR/REC-html40/sgml/entities.html for information on HTML entities. Examples of HTML entities are < , å , å , 水 , Í , etc.

Returns a null on failure

public string LowerCase(string inStr);

To be documented soon...

public byte[] ReadFile(string filename);

Convenience method for reading the entire contents of a file into a byte array.

Returns null on failure

public string ReadFileToString(string filename, string srcCharset);

Reads a text file and returns the text converted to a Unicode string. The filename is specified by the first method argument, and the charset of the text data is specified by the 2nd method argument.

Returns a null on failure

public bool SaveLastError(string filename);

Saves the last error information to an XML formatted file.

public void SetErrorBytes(byte[] data);

If the ErrorAction property is set to 1, the bytes passed to this method are used as the result for any characters that cannot be converted during a conversion.

public void SetErrorString(string str, string charset);

If the ErrorAction property is set to 1, the string passed to this method is used as the result for any characters that cannot be converted during a conversion.

public bool UnlockComponent(string unlockCode);

Unlocks the component. This method must be called once at the beginning of the program. Properties can be get/set without unlocking, but methods will not work unless the component has been unlocked.

public string UpperCase(string inStr);

To be documented soon...

public bool VerifyData(string charset, byte[] inData);

Returns true if the byte data conforms to the charset passed in the first argument.

public bool VerifyFile(string charset, string filename);

Returns true if the file contains character data that conforms to the charset passed in the 1st argument.

public bool WriteFile(string filename, byte[] fileData);

Convenience method for saving an entire byte array to a file.

public bool WriteStringToFile(string str, string filename, string charset);

Converts a Unicode string to a multibyte charset and writes the multibyte text data to a file. The destination charset is specified in the 2nd method argument.