Quick links: Tutorial - Examples - Files - Symbols.
Classes: Hierarchy - Index - List - Members.
Namespaces: Index - base - cs - display.

Public Types | Static Public Member Functions | Static Public Attributes | List of all members
cogitant::Encoding Class Reference

Classe offrant quelques opérations sur des chaînes de caractères codées sous différents formats. More...

#include "cogitant/iomisc.h"

Public Types

enum  Type {
  DEFAULT, LATIN9, UTF8, UTF16LE,
  UTF16BE
}
 Type d'encodage. More...
 

Static Public Member Functions

static void setDefaultEncoding (Type t)
 Fixer l'encodage par défaut. More...
 
static Type defaultEncoding ()
 Accès à l'encodage par défaut. More...
 
static Type interpretEncoding (Type t)
 Calcul de l'encodage, si DEFAULT, retourne s_defaultencoding. More...
 
static bool wcharIsControl (wchar_t c)
 Est-ce que le caractère (unicode) passé est un caractère de contrôle (catégorie Cc). More...
 
static bool wcharToString (wchar_t c, std::string &result, Type format=DEFAULT)
 Conversion d'un caractère (unicode) en chaîne. More...
 
static bool convertString (std::string const &src, Type fsrc, std::string &dst, Type fdst=DEFAULT)
 Conversion d'un chaîne. More...
 
static bool verifyString (std::string const &src, Type format=DEFAULT)
 Vérification d'une chaîne. More...
 
static bool convertFromHexa (std::string const &src, wchar_t &result)
 Convertit une chaîne contenant un code exprimé en hexadécimal en caractère de ce code. More...
 
static std::string::size_type firstChar (std::string const &str, std::string::size_type cur, wchar_t &result, Type format=DEFAULT)
 Calcule le premier caractère de la chaîne à l'indice passé. More...
 
static std::string::size_type nextChar (std::string const &str, std::string::size_type cur, Type format=DEFAULT)
 Retourne l'indice du caractère suivant. More...
 
static std::string::size_type prevChar (std::string const &str, std::string::size_type cur, Type format=DEFAULT)
 Retourne l'indice du caractère précédent. More...
 
static std::string::size_type length (std::string const &str, Type format=DEFAULT)
 Retourne la longueur (nombre de caractères affichés) d'une chaîne. More...
 
static void substr (std::string const &str, std::string &result, std::string::size_type beg, std::string::size_type len=std::string::npos, Type format=DEFAULT)
 Retourne une sous-chaîne de la chaîne. More...
 
static char const * typeToString (Type t)
 Retourne une chaîne de caractère correspondant à l'encodage. More...
 
static bool stringToType (std::string const &s, Type &result)
 Calcule l'encodage correspondant à la chaîne de nom d'encodage passée au format de déclaration XML. More...
 

Static Public Attributes

static Type s_defaultencoding
 Type d'encodage par défaut. More...
 

Detailed Description

Classe offrant quelques opérations sur des chaînes de caractères codées sous différents formats.

Member Enumeration Documentation

◆ Type

Type d'encodage.

Enumerator
DEFAULT 

Type d'encodage par défaut.

Toutes les méthodes qui prennent comme paramètre un Type peuvent recevoir cette valeur DEFAULT, et dans ce cas, l'encodage considéré est l'encodage par défaut (s_defaultencoding ).

LATIN9 

Latin-9 alias ISO-8859-15.

UTF8 

Unicode Utf-8.

UTF16LE 

Unicode Utf-16 "Little Endian".

Les caractères sont codés sur 2 octets. Les flux de ce type doivent commencer par FE FF pour être reconnus par IStream.

UTF16BE 

Unicode Utf-16 "Big Endian".

Les caractères sont codés sur 2 octets. Les flux de ce type doivent commencer par FF FE pour être reconnus par IStream.

Member Function Documentation

◆ convertFromHexa()

static bool cogitant::Encoding::convertFromHexa ( std::string const &  src,
wchar_t &  result 
)
static

Convertit une chaîne contenant un code exprimé en hexadécimal en caractère de ce code.

Parameters
srcchaîne à interpréter.
resultrésultat.
Returns
true ssi la chaîne peut effectivement être convertie en caractère.

◆ convertString()

static bool cogitant::Encoding::convertString ( std::string const &  src,
Type  fsrc,
std::string &  dst,
Type  fdst = DEFAULT 
)
static

Conversion d'un chaîne.

Parameters
srcchaîne source.
fsrcformat source.
dstchaîne résultat.
fdstformat destination.
Returns
true ssi la conversion s'est effectuée correctement.

◆ defaultEncoding()

static Type cogitant::Encoding::defaultEncoding ( )
inlinestatic

Accès à l'encodage par défaut.

◆ firstChar()

static std::string::size_type cogitant::Encoding::firstChar ( std::string const &  str,
std::string::size_type  cur,
wchar_t &  result,
Type  format = DEFAULT 
)
static

Calcule le premier caractère de la chaîne à l'indice passé.

Parameters
strchaîne.
curposition dans la chaîne.
formatformat de la chaîne.
resultcaractère lu.
Returns
nombre de caractères lus.

◆ interpretEncoding()

static Type cogitant::Encoding::interpretEncoding ( Type  t)
inlinestatic

Calcul de l'encodage, si DEFAULT, retourne s_defaultencoding.

◆ length()

static std::string::size_type cogitant::Encoding::length ( std::string const &  str,
Type  format = DEFAULT 
)
static

Retourne la longueur (nombre de caractères affichés) d'une chaîne.

Parameters
strchaîne.
formatformat de la chaîne.
Returns
nombre de caractères affichés.

◆ nextChar()

static std::string::size_type cogitant::Encoding::nextChar ( std::string const &  str,
std::string::size_type  cur,
Type  format = DEFAULT 
)
static

Retourne l'indice du caractère suivant.

Parameters
formatformat de la chaîne.
strchaîne.
curposition courante de recherche.

◆ prevChar()

static std::string::size_type cogitant::Encoding::prevChar ( std::string const &  str,
std::string::size_type  cur,
Type  format = DEFAULT 
)
static

Retourne l'indice du caractère précédent.

Parameters
strchaîne.
curposition courante de recherche.
formatformat de la chaîne.

◆ setDefaultEncoding()

static void cogitant::Encoding::setDefaultEncoding ( Type  t)
static

Fixer l'encodage par défaut.

◆ stringToType()

static bool cogitant::Encoding::stringToType ( std::string const &  s,
Type result 
)
static

Calcule l'encodage correspondant à la chaîne de nom d'encodage passée au format de déclaration XML.

Retourne true si l'encodage est reconnu et false sinon.

◆ substr()

static void cogitant::Encoding::substr ( std::string const &  str,
std::string &  result,
std::string::size_type  beg,
std::string::size_type  len = std::string::npos,
Type  format = DEFAULT 
)
static

Retourne une sous-chaîne de la chaîne.

Parameters
strchaîne.
resultrésultat, c'est à dire la sous-chaîne de str commençant en beg et de longueur len.
begpremier caractère à considérer.
lenlongueur de la sous-chaîne.
formatde la chaîne.

◆ typeToString()

static char const* cogitant::Encoding::typeToString ( Type  t)
static

Retourne une chaîne de caractère correspondant à l'encodage.

La chaîne de caractères retournée correspond à la valeur de l'attribut "encoding" qui doit être données dans la déclaration <?xml> d'un document XML.

◆ verifyString()

static bool cogitant::Encoding::verifyString ( std::string const &  src,
Type  format = DEFAULT 
)
static

Vérification d'une chaîne.

Parameters
srcchaîne à vérifier.
formatformat de la chaîne.
Returns
true ssi la chaîne peut effectivement être interprétée comme étant à ce format. La vérification ne concerne en fait que les chaînes en Utf-8.

◆ wcharIsControl()

static bool cogitant::Encoding::wcharIsControl ( wchar_t  c)
static

Est-ce que le caractère (unicode) passé est un caractère de contrôle (catégorie Cc).

◆ wcharToString()

static bool cogitant::Encoding::wcharToString ( wchar_t  c,
std::string &  result,
Type  format = DEFAULT 
)
static

Conversion d'un caractère (unicode) en chaîne.

Parameters
ccaractère unicode.
resultchaîne résultat.
formatformat de codage de la chaîne.
Returns
true ssi la conversion s'est effectuée correctement.

Member Data Documentation

◆ s_defaultencoding

Type cogitant::Encoding::s_defaultencoding
static

Type d'encodage par défaut.