2016-09-26 47 views
0

警告:我正在使用QByteArray。 我想問問有哪些其他轉換存在。我通常使用toLatin1,但我會嘗試與其他人。例如:將文本轉換爲其他編碼qt

datoss = "|@|" + ui->textocuenta->text().toLatin1() + "|@|"; 

我再說一遍,我正在嘗試使用其他轉換。只有這樣。

+0

爲什麼不你只是看看? http://doc.qt.io/qt-5/qstring.html#toLatin1 – Hayt

+0

我使用QByteArray,所以我也可以改變轉換。 –

+1

不清楚你在問什麼 - 'QTextCodec :: availableCodecs()'告訴你可以使用哪些編碼;你還需要什麼? –

回答

0

請參閱QString class info。將您的QByteArray到QString的,有多次轉換:

CFStringRef toCFString() const 
QString toCaseFolded() const 
QString toHtmlEscaped() const 
QByteArray toLatin1() const 
QByteArray toLocal8Bit() const 
NSString * toNSString() const 
std::string toStdString() const 
std::u16string toStdU16String() const 
std::u32string toStdU32String() const 
std::wstring toStdWString() const 
ushort toUShort(bool *ok = Q_NULLPTR, int base = 10) const 
QVector<uint> toUcs4() const 
QByteArray toUtf8() const 
int toWCharArray(wchar_t *array) const 

如果你正在尋找一種方式來從你的QWidget的轉換到一個QByteArray中的索引數據,只需使用:

const QString indexed = QString("|@|%1|@|").arg(ui->textocuenta->text()); 
datoss = indexed.toLatin1(); 
+0

嗨,我可以避免這種轉換或使用其他的Unicode或其他東西。我需要一個例子:datoss =「| @ |」 + ui-> textocuenta-> text()。toLatin1()+「| @ |」這對我來說很重要謝謝datoss是一個QByteArray –

+0

我編輯了我的答案 – mohabouje