Я разработал приложение для запросов и ответов Http в Tizen. Я успешно могу опубликовать и получить ответ. (Проверено Длина тела).
Ответ, который я получил, находится в ByteBuffer.
ByteBuffer* pBuffer = pHttpResponse->ReadBodyN();
Я немного беден в кастинге. Я хочу, чтобы этот ByteBuffer был преобразован в строку, чтобы я мог установить метку.
Являются ли данные в 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);
Других решений пока нет …