⚠️ Este é um site de tradução não oficial, sem relação com o DCMTK / OFFIS. Para informações oficiais, consulte a página original (https://support.dcmtk.org/docs/mod_oficonv.html).

oficonv: biblioteca de conversão de conjuntos de caracteres

Este módulo contém a implementação iconv da Citrus, em uma versão modificada, adaptada para uso no DCMTK e para as codificações de conjuntos de caracteres utilizadas pelo padrão DICOM.

As funções mais importantes são:

Exemplos

O exemplo a seguir mostra uma conversão de conjunto de caracteres bem simples. A maior parte do código de tratamento de erros foi omitida por questões de concisão.

// we want to convert from ISO 8859-1 to UTF-8
iconv_t id = OFiconv_open("UTF-8", "ISO-8859-1");
if (id != OFreinterpret_cast(iconv_t, -1))
{
 // set up input and output buffer
 char output[20];
 char input[20];
    strcpy(input, "J\xF6rg");

 // set up the parameters for OFiconv
 char *src_ptr = input; // Following the Posix spec, this pointer is not const
 size_t src_len = std::strlen(src_ptr);
 char *dst_ptr = output;
 size_t dst_len = 20;

 // perform the conversion
 size_t result = OFiconv(id, &src_ptr, &src_len, &dst_ptr, &dst_len);

 // null terminate
 if (dst_len > 0) *dst_ptr = '\0';

 if (result != OFstatic_cast(size_t, -1))
    {
        std::cout << "UTF-8 string: " << output << std::endl;
    }

 // close the conversion descriptor
 OFiconv_close(id);
}