ByteBuffer to String

Я разработал приложение для запросов и ответов Http в Tizen. Я успешно могу опубликовать и получить ответ. (Проверено Длина тела).
Ответ, который я получил, находится в ByteBuffer.

ByteBuffer* pBuffer = pHttpResponse->ReadBodyN();

Я немного беден в кастинге. Я хочу, чтобы этот ByteBuffer был преобразован в строку, чтобы я мог установить метку.

0

Решение

Являются ли данные в ByteBuffer ASCII с нулевым окончанием? В этом случае вы можете создать строку следующим образом:

String str((const char*)(byteBuf.GetPointer()));

В противном случае вы можете декодировать ByteBuffer с помощью Tizen :: Text :: Encoding, до тех пор, пока вы знаете, что такое кодировка. Например:

// Construct some test data. In your case the buffer would come
// as a HTTP response.
char chars[] = "\xE5\xE6\xF6";  // æåø in ISO-8859-1
ByteBuffer byteBuf;
byteBuf.Construct((byte*)chars, 0, 3, 3);

Encoding* pEnc = Encoding::GetEncodingN(L"ISO-8859-1");
String str;
pEnc->GetString(byteBuf, 0, byteBuf.GetRemaining(), str);

Label *pLabel = static_cast<Label*>(GetControl(IDC_LABEL1));
pLabel->SetText(str);
1

Другие решения

Других решений пока нет …