2015-01-16 2 views
-4

Я хотел бы знать, как преобразовать массив байт в строку, заданный кодированная схему напримерПреобразовать массив байт в закодированную строку

string Convert2Str(byte* b, UTF32); 
string Convert2Str(byte* b, UTF7); 
etc 
+7

В C. нет типа 'string'. Предложите удалить тег C. – chux

+0

Единственная ссылка в C++, которую я нашел, это 'SysTestAssert.convert2str()', принимающая только один аргумент. Вы можете попробовать этот вопрос: http://stackoverflow.com/questions/5451305/how-to-make-function-argument-container-independent –

+0

https://www.gnu.org/software/libiconv/ –

ответ

0

Там нет стандартного C++ способа сделать это.

Некоторые библиотеки сторонних производителей могут конвертировать кодировки (например, UTF8-CPP).


Примечание:byte не является стандартом C++ тип либо. Вероятно, вы имели в виду uint8_t.

+0

спасибо, мне нужно utf7, 8,16,32, все, кроме вашего utf8-cpp, только utf8, которого недостаточно. –

+0

Да, я определяю его как uint8_t только для того, чтобы его было легче понять. Я называю его байтом. –

+0

@MolitaBolida. Затем изучите другие сторонние библиотеки, которые отвечают вашим требованиям (я уверен, что есть некоторые доступные). В любом случае, задавать вопрос о том, что касается некоторых, это вне темы. –

Смежные вопросы