»
         Symbian OS v9.3 »
         Symbian OS reference »
         C++ component reference »
         System Libraries CHARCONV_ONGOING »
         CnvUtfConverter
      
      
      	   
      
      	   
      
         	   
         
         Location: 
            utf.h
            
Link against: charconv.lib
            
         
         
       
      
      
         class CnvUtfConverter;
         Description
         
         Converts text between Unicode (UCS-2) and the two Unicode transformation formats UTF-7 and UTF-8. There are no functions to
            convert directly between UTF-7 and UTF-8.
         
         
         Objects of this class do not need to be created because all the member functions are static. The four functions are passed
            text in the second argument and output the resulting text in the first argument. Sixteen-bit descriptors are used to hold
            text encoded in UCS-2 (i.e. normal 16 bit Unicode), and eight-bit descriptors are used to hold text encoded in either of the
            transformation formats.
         
         
         The conversion functions return the number of characters which were not converted because the output descriptor was not long
            enough to hold all of the converted text. This allows users of this class to perform partial conversions on an input descriptor,
            handling the case when the input descriptor is truncated mid way through a multi-byte character. The caller does not have
            to guess how big to make the output descriptor for a given input descriptor- they can simply do the conversion in a loop using
            a small output descriptor. The ability to handle truncated descriptors is particularly useful if the caller is receiving information
            in chunks from an external source. 
         
         
         Members
         
         Defined in CnvUtfConverter:
            
ConvertFromUnicodeToUtf7(), ConvertFromUnicodeToUtf7L(), ConvertFromUnicodeToUtf8(), ConvertFromUnicodeToUtf8L(), ConvertToUnicodeFromUtf7(), ConvertToUnicodeFromUtf7L(), ConvertToUnicodeFromUtf8(), ConvertToUnicodeFromUtf8L(), EErrorIllFormedInput, KStateDefault, TError, anonymous
            
         
         
         
       
      
         
         
         
         Member functions
         
      
      
      
         
         
         
         
         ConvertFromUnicodeToUtf7()
         
       
      
         static IMPORT_C TInt ConvertFromUnicodeToUtf7(TDes8 &aUtf7, const TDesC16 &aUnicode, TBool aEncodeOptionalDirectCharactersInBase64);
         Description
         
         Converts Unicode text into UTF-7 encoding.
         
         Parameters
         
         
            
               | 
                     
                        | 
                              TDes8&aUtf7 | On return, contains the UTF-7 encoded output string.  |  
                        | const TDesC16&aUnicode | A UCS-2 encoded input string.  |  
                        | 
                              TBoolaEncodeOptionalDirectCharactersInBase64 | If ETrue then characters from UTF-7 set O (optional direct characters) are encoded in Modified Base64. If EFalse the characters
                              are encoded directly, as their ASCII equivalents. 
                            |  | 
         
         
         Return value
         
         
            
               | 
                     
                        | TInt | The number of unconverted characters left at the end of the input descriptor, or one of the error values defined in TError.
                              
                            |  | 
         
          
      
         
         
         
         
         ConvertFromUnicodeToUtf8()
         
       
      
         static IMPORT_C TInt ConvertFromUnicodeToUtf8(TDes8 &aUtf8, const TDesC16 &aUnicode);
         Description
         
         Converts Unicode text into UTF-8 encoding.
         
         Parameters
         
         
            
               | 
                     
                        | 
                              TDes8&aUtf8 | On return, contains the UTF-8 encoded output string.  |  
                        | const TDesC16&aUnicode | The Unicode-encoded input string.  |  | 
         
         
         Return value
         
         
            
               | 
                     
                        | TInt | The number of unconverted characters left at the end of the input descriptor, or one of the error values defined in TError.
                              
                            |  | 
         
          
      
         
         
         
         
         ConvertToUnicodeFromUtf7()
         
       
      
         static IMPORT_C TInt ConvertToUnicodeFromUtf7(TDes16 &aUnicode, const TDesC8 &aUtf7, TInt &aState);
         Description
         
         Converts text encoded using the Unicode transformation format UTF-7 into the Unicode UCS-2 character set.
         
         If the conversion is achieved using a series of calls to this function, where each call starts off where the previous call
            reached in the input descriptor, the state of the conversion is stored. The initial value of the state variable should be
            set as KStateDefault when the conversion is started, and afterwards simply passed unchanged into each function call.
         
         
         Parameters
         
         
            
               | 
                     
                        | 
                              TDes16&aUnicode | On return, contains the Unicode encoded output string.  |  
                        | const TDesC8&aUtf7 | The UTF-7 encoded input string.  |  
                        | 
                              TInt&aState | For the first call of the function set to KStateDefault. For subsequent calls, pass in the variable unchanged.  |  | 
         
         
         Return value
         
         
            
               | 
                     
                        | TInt | The number of unconverted bytes left at the end of the input descriptor, or one of the error values defined in TError.  |  | 
         
          
      
         
         
         
         
         ConvertToUnicodeFromUtf8()
         
       
      
         static IMPORT_C TInt ConvertToUnicodeFromUtf8(TDes16 &aUnicode, const TDesC8 &aUtf8);
         Description
         
         Converts text encoded using the Unicode transformation format UTF-8 into the Unicode UCS-2 character set.
         
         Parameters
         
         
            
               | 
                     
                        | 
                              TDes16&aUnicode | On return, contains the Unicode encoded output string.  |  
                        | const TDesC8&aUtf8 | The UTF-8 encoded input string  |  | 
         
         
         Return value
         
         
            
               | 
                     
                        | TInt | The number of unconverted bytes left at the end of the input descriptor, or one of the error values defined in TError.  |  | 
         
          
      
         
         
         
         
         ConvertFromUnicodeToUtf7L()
         
       
      
         static IMPORT_C HBufC8 *ConvertFromUnicodeToUtf7L(const TDesC16 &aUnicode, TBool aEncodeOptionalDirectCharactersInBase64);
         Description
         
         Converts Unicode text into UTF-7 encoding. The fucntion leaves with KErrCorrupt if the input string is corrupt.
         
         Parameters
         
         
            
               | 
                     
                        | const TDesC16&aUnicode | A UCS-2 encoded input string.  |  
                        | 
                              TBoolaEncodeOptionalDirectCharactersInBase64 | If ETrue then characters from UTF-7 set O (optional direct characters) are encoded in Modified Base64. If EFalse the characters
                              are encoded directly, as their ASCII equivalents. 
                            |  | 
         
         
         Return value
         
         
            
               | 
                     
                        | HBufC8* | A descriptor containing the UTF-7 encoded output string.  |  | 
         
          
      
         
         
         
         
         ConvertFromUnicodeToUtf8L()
         
       
      
         static IMPORT_C HBufC8 *ConvertFromUnicodeToUtf8L(const TDesC16 &aUnicode);
         Description
         
         Converts Unicode text into UTF-8 encoding.
         
         The variant of UTF-8 used internally by Java differs slightly from standard UTF-8. The TBool argument controls the UTF-8 variant
            generated by this function. This function leaves with a KErrCorrupt if the input string is corrupt.
         
         
         Parameters
         
         
            
               | 
                     
                        | const TDesC16&aUnicode | A UCS-2 encoded input string.  |  | 
         
         
         Return value
         
         
            
               | 
                     
                        | HBufC8* | A pointer to an HBufC8containing the converted UTF8. |  | 
         
          
      
         
         
         
         
         ConvertToUnicodeFromUtf7L()
         
       
      
         static IMPORT_C HBufC16 *ConvertToUnicodeFromUtf7L(const TDesC8 &aUtf7);
         Description
         
         Converts text encoded using the Unicode transformation format UTF-7 into the Unicode UCS-2 character set.
         
         Parameters
         
         
            
               | 
                     
                        | const TDesC8&aUtf7 | The UTF-7 encoded input string.  |  | 
         
         
         Return value
         
         
            
               | 
                     
                        | HBufC16* | A pointer to an HBufC16containing the converted Unicode string |  | 
         
          
      
         
         
         
         
         ConvertToUnicodeFromUtf8L()
         
       
      
         static IMPORT_C HBufC16 *ConvertToUnicodeFromUtf8L(const TDesC8 &aUtf8);
         Description
         
         Converts text encoded using the Unicode transformation format UTF-8 into the Unicode UCS-2 character set. This function leaves
            with an error code of the input string is corrupted.
         
         
         Parameters
         
         
            
               | 
                     
                        | const TDesC8&aUtf8 | The UTF-8 encoded input string  |  | 
         
         
         Return value
         
         
         
         
       
      
      
      
      
         TError
         Description
         
         Conversion error flags. At this stage there is only one error flag
         
         
         
         
            
               | 
                     
                        | EErrorIllFormedInput | The input descriptor contains a single corrupt character. This might occur when the input descriptor only contains some of
                              the bytes of a single multi-byte character. 
                            |  | 
         
          
      
      
         n/a
         Description
         
         Initial value for the state argument in a set of related calls to ConvertToUnicode().