Symbian3/SDK/Source/GUID-6F2BFFD4-9A2A-5EEC-87A2-3B60CB7F9CD5.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Tue, 20 Jul 2010 12:00:49 +0100
changeset 13 48780e181b38
parent 0 89d6a7a84779
permissions -rw-r--r--
Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-6F2BFFD4-9A2A-5EEC-87A2-3B60CB7F9CD5"><title>Character Encoding and Conversion Framework Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Charconv Framework component provides APIs and built-in converters to convert text between Unicode and other character encodings. </p> <p>The Component also provides APIs which list the encodings available on the device and which select a specific encoding to convert to or from. </p> <section><title>Architecture</title> <p>The Charconv Framework is part of the Character Conversion (Charconv) Framework collection. </p> </section> <section><title>APIs</title> <p>The Charconv Framework includes the following APIs: </p> <table id="GUID-BD09E58E-225A-5EF9-AFF1-5AEC93161D6C"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-A03A0ACA-00B2-350E-8ED7-DB8C9B0D83CC.dita"><apiname>CCnvCharacterSetConverter</apiname></xref>  </p> </entry> <entry><p>Converts text between Unicode and another character set. Conversion can be performed on fragments of input, including handling the case when the input text is truncated midway through a multi-byte character. This allows clients to do conversion in small steps, which may be preferred for large amounts of text or when text is arriving in fragments from an external source. </p> </entry> </row> <row><entry><p> <xref href="GUID-66786E20-76E7-304F-86ED-11038BC12152.dita"><apiname>CnvUtfConverter</apiname></xref>  </p> </entry> <entry><p>Converts text between Unicode (UTF-16) and the two Unicode transformation formats UTF-7 and UTF-8. These are ASCII-compatible encodings of Unicode which use sequences of multiple bytes to encode non-ASCII characters. Conversion can be performed in incremental steps. </p> </entry> </row> <row><entry><p> <xref href="GUID-8F2E456B-618C-31CC-B368-A3C515B642AB.dita"><apiname>CCnvCharacterSetNames </apiname></xref>  </p> </entry> <entry><p>Gets the names of all available converters. </p> </entry> </row> <row><entry><p> <xref href="GUID-2FC99DA0-F1C0-3A5E-B990-5DC3F7EAA31C.dita"><apiname>CnvUtilities</apiname></xref>  </p> </entry> <entry><p>Provides static character conversion utilities for complex encodings. </p> </entry> </row> <row><entry><p> <xref href="GUID-F58308AA-7072-370D-BE6A-1E8236060FC4.dita"><apiname>CCharacterSetConverterPluginInterface</apiname></xref>  </p> </entry> <entry><p>Defines the methods in the CharConv Character Set Conversion plug-in interface. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Built-in converters</title> <p>The built-in converters are used by most languages. Each converter is identified by a Unique Identifier (UID). The UIDs are defined in the <filepath>charconv.h</filepath> header file. </p> <table id="GUID-4F4DE06D-6FA8-5525-BE64-E05B0724DA80"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry> Converter Name</entry> <entry>Target script</entry> </row> </thead> <tbody><row><entry><p>UTF-7 </p> </entry> <entry><p>Universal (Unicode) </p> </entry> </row> <row><entry><p>UTF-8 </p> </entry> <entry><p>Universal (Unicode) </p> </entry> </row> <row><entry><p>Little Endian Unicode </p> </entry> <entry><p>Universal (Unicode) </p> </entry> </row> <row><entry><p>Big Endian Unicode </p> </entry> <entry><p>Universal (Unicode) </p> </entry> </row> <row><entry><p>IMAP UTF-7 </p> </entry> <entry><p>Universal (Unicode) for IMAP </p> </entry> </row> <row><entry><p>Java UTF-8 </p> </entry> <entry><p>Universal (Unicode) for Java </p> </entry> </row> <row><entry><p>ASCII </p> </entry> <entry><p>Western European / US </p> </entry> </row> <row><entry><p>Code Page 1252 </p> </entry> <entry><p>Western European / US </p> </entry> </row> <row><entry><p>ISO8859-1 </p> </entry> <entry><p>Western European / US </p> </entry> </row> <row><entry><p>SMS7Bit </p> </entry> <entry><p>Western European / US </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The Charconv Framework can be used to: </p> <ul><li id="GUID-F12323DC-93B5-592E-809D-549BE2E612E6"><p>Convert between a foreign encoding and Unicode. </p> </li> <li id="GUID-74756183-1191-5C75-A18A-865627B70E7B"><p>Convert between a Unicode transformation format and Unicode. </p> </li> <li id="GUID-F2268E25-1E68-5453-A31D-9224A30F34C2"><p>Write additional plug-in converters for specific encodings or languages. </p> </li> <li id="GUID-92AB61B4-D57B-52F1-9B9A-998737B8FC0F"><p>Get a list of converter names. </p> </li> <li id="GUID-13F9FAFC-37F3-5644-84EF-9F9EC2A17130"><p>Automatically detect the character encoding to be converted. </p> </li> <li id="GUID-58DEFB30-703D-5D6B-A19F-3257765C8687"><p>Get the character converter UID using its Internet standard encoding name. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-001F6216-48AE-57D4-8985-65CF77B26F19.dita">Character Encoding and Conversion Plug-ins Component Overview</xref>  </p> </section> </conbody></concept>