Описание класса QByteArray [Модуль QtCore]
Класс QByteArray предоставляет массив байт. Далее...
#include <QByteArray> От него наследуется Q3CString.
Замечание: все функции этого класса реентерабильны.
Открытые функции
- QByteArray ()
- QByteArray ( const char * str )
- QByteArray ( const char * data, int size )
- QByteArray ( int size, char ch )
- QByteArray ( const QByteArray & other )
- ~QByteArray ()
- QByteArray & append ( const QByteArray & ba )
- QByteArray & append ( const QString & str )
- QByteArray & append ( const char * str )
- QByteArray & append ( const char * str, int len )
- QByteArray & append ( char ch )
- char at ( int i ) const
- int capacity () const
- void chop ( int n )
- void clear ()
- const char * constData () const
- bool contains ( const QByteArray & ba ) const
- bool contains ( const char * str ) const
- bool contains ( char ch ) const
- int count ( const QByteArray & ba ) const
- int count ( const char * str ) const
- int count ( char ch ) const
- int count () const
- char * data ()
- const char * data () const
- bool endsWith ( const QByteArray & ba ) const
- bool endsWith ( const char * str ) const
- bool endsWith ( char ch ) const
- QByteArray & fill ( char ch, int size = -1 )
- int indexOf ( const QByteArray & ba, int from = 0 ) const
- int indexOf ( const QString & str, int from = 0 ) const
- int indexOf ( const char * str, int from = 0 ) const
- int indexOf ( char ch, int from = 0 ) const
- QByteArray & insert ( int i, const QByteArray & ba )
- QByteArray & insert ( int i, const QString & str )
- QByteArray & insert ( int i, const char * str )
- QByteArray & insert ( int i, char ch )
- bool isEmpty () const
- bool isNull () const
- int lastIndexOf ( const QByteArray & ba, int from = -1 ) const
- int lastIndexOf ( const QString & str, int from = -1 ) const
- int lastIndexOf ( const char * str, int from = -1 ) const
- int lastIndexOf ( char ch, int from = -1 ) const
- QByteArray left ( int len ) const
- QByteArray leftJustified ( int width, char fill = ' ', bool truncate = false ) const
- int length () const
- QByteArray mid ( int pos, int len = -1 ) const
- QByteArray & prepend ( const QByteArray & ba )
- QByteArray & prepend ( const char * str )
- QByteArray & prepend ( char ch )
- void push_back ( const QByteArray & other )
- void push_back ( const char * str )
- void push_back ( char ch )
- void push_front ( const QByteArray & other )
- void push_front ( const char * str )
- void push_front ( char ch )
- QByteArray & remove ( int pos, int len )
- QByteArray repeated ( int times ) const
- QByteArray & replace ( int pos, int len, const QByteArray & after )
- QByteArray & replace ( int pos, int len, const char * after )
- QByteArray & replace ( const QByteArray & before, const QByteArray & after )
- QByteArray & replace ( const char * before, const QByteArray & after )
- QByteArray & replace ( const char * before, int bsize, const char * after, int asize )
- QByteArray & replace ( const QByteArray & before, const char * after )
- QByteArray & replace ( const QString & before, const QByteArray & after )
- QByteArray & replace ( const QString & before, const char * after )
- QByteArray & replace ( const char * before, const char * after )
- QByteArray & replace ( char before, const QByteArray & after )
- QByteArray & replace ( char before, const QString & after )
- QByteArray & replace ( char before, const char * after )
- QByteArray & replace ( char before, char after )
- void reserve ( int size )
- void resize ( int size )
- QByteArray right ( int len ) const
- QByteArray rightJustified ( int width, char fill = ' ', bool truncate = false ) const
- QByteArray & setNum ( int n, int base = 10 )
- QByteArray & setNum ( uint n, int base = 10 )
- QByteArray & setNum ( short n, int base = 10 )
- QByteArray & setNum ( ushort n, int base = 10 )
- QByteArray & setNum ( qlonglong n, int base = 10 )
- QByteArray & setNum ( qulonglong n, int base = 10 )
- QByteArray & setNum ( double n, char f = 'g', int prec = 6 )
- QByteArray & setNum ( float n, char f = 'g', int prec = 6 )
- QByteArray simplified () const
- int size () const
- QList<QByteArray> split ( char sep ) const
- void squeeze ()
- bool startsWith ( const QByteArray & ba ) const
- bool startsWith ( const char * str ) const
- bool startsWith ( char ch ) const
- QByteArray toBase64 () const
- double toDouble ( bool * ok = 0 ) const
- float toFloat ( bool * ok = 0 ) const
- QByteArray toHex () const
- int toInt ( bool * ok = 0, int base = 10 ) const
- long toLong ( bool * ok = 0, int base = 10 ) const
- qlonglong toLongLong ( bool * ok = 0, int base = 10 ) const
- QByteArray toLower () const
- QByteArray toPercentEncoding ( const QByteArray & exclude = QByteArray(), const QByteArray & include = QByteArray(), char percent = '%' ) const
- short toShort ( bool * ok = 0, int base = 10 ) const
- uint toUInt ( bool * ok = 0, int base = 10 ) const
- ulong toULong ( bool * ok = 0, int base = 10 ) const
- qulonglong toULongLong ( bool * ok = 0, int base = 10 ) const
- ushort toUShort ( bool * ok = 0, int base = 10 ) const
- QByteArray toUpper () const
- QByteArray trimmed () const
- void truncate ( int pos )
- operator const char * () const
- operator const void * () const
- bool operator!= ( const QString & str ) const
- QByteArray & operator+= ( const QByteArray & ba )
- QByteArray & operator+= ( const QString & str )
- QByteArray & operator+= ( const char * str )
- QByteArray & operator+= ( char ch )
- bool operator< ( const QString & str ) const
- bool operator<= ( const QString & str ) const
- QByteArray & operator= ( const QByteArray & other )
- QByteArray & operator= ( const char * str )
- bool operator== ( const QString & str ) const
- bool operator> ( const QString & str ) const
- bool operator>= ( const QString & str ) const
- QByteRef operator[] ( int i )
- char operator[] ( int i ) const
- QByteRef operator[] ( uint i )
- char operator[] ( uint i ) const
Статические открытые члены
- QByteArray fromBase64 ( const QByteArray & base64 )
- QByteArray fromHex ( const QByteArray & hexEncoded )
- QByteArray fromPercentEncoding ( const QByteArray & input, char percent = '%' )
- QByteArray fromRawData ( const char * data, int size )
- QByteArray number ( int n, int base = 10 )
- QByteArray number ( uint n, int base = 10 )
- QByteArray number ( qlonglong n, int base = 10 )
- QByteArray number ( qulonglong n, int base = 10 )
- QByteArray number ( double n, char f = 'g', int prec = 6 )
Связанные нечлены класса
- quint16 qChecksum ( const char * data, uint len )
- QByteArray qCompress ( const QByteArray & data, int compressionLevel = -1 )
- QByteArray qCompress ( const uchar * data, int nbytes, int compressionLevel = -1 )
- QByteArray qUncompress ( const QByteArray & data )
- QByteArray qUncompress ( const uchar * data, int nbytes )
- int qsnprintf ( char * str, size_t n, const char * fmt, ... )
- int qstrcmp ( const char * str1, const char * str2 )
- char * qstrcpy ( char * dst, const char * src )
- char * qstrdup ( const char * src )
- int qstricmp ( const char * str1, const char * str2 )
- uint qstrlen ( const char * str )
- int qstrncmp ( const char * str1, const char * str2, uint len )
- char * qstrncpy ( char * dst, const char * src, uint len )
- int qstrnicmp ( const char * str1, const char * str2, uint len )
- uint qstrnlen ( const char * str, uint maxlen )
- int qvsnprintf ( char * str, size_t n, const char * fmt, va_list ap )
- bool operator!= ( const QByteArray & a1, const QByteArray & a2 )
- bool operator!= ( const QByteArray & a1, const char * a2 )
- bool operator!= ( const char * a1, const QByteArray & a2 )
- const QByteArray operator+ ( const char * a1, const QByteArray & a2 )
- const QByteArray operator+ ( char a1, const QByteArray & a2 )
- const QByteArray operator+ ( const QByteArray & a1, const QByteArray & a2 )
- const QByteArray operator+ ( const QByteArray & a1, const char * a2 )
- const QByteArray operator+ ( const QByteArray & a1, char a2 )
- bool operator< ( const QByteArray & a1, const QByteArray & a2 )
- bool operator< ( const QByteArray & a1, const char * a2 )
- bool operator< ( const char * a1, const QByteArray & a2 )
- QDataStream & operator<< ( QDataStream & out, const QByteArray & ba )
- bool operator<= ( const QByteArray & a1, const QByteArray & a2 )
- bool operator<= ( const QByteArray & a1, const char * a2 )
- bool operator<= ( const char * a1, const QByteArray & a2 )
- bool operator== ( const QByteArray & a1, const QByteArray & a2 )
- bool operator== ( const QByteArray & a1, const char * a2 )
- bool operator== ( const char * a1, const QByteArray & a2 )
- bool operator> ( const QByteArray & a1, const QByteArray & a2 )
- bool operator> ( const QByteArray & a1, const char * a2 )
- bool operator> ( const char * a1, const QByteArray & a2 )
- bool operator>= ( const QByteArray & a1, const QByteArray & a2 )
- bool operator>= ( const QByteArray & a1, const char * a2 )
- bool operator>= ( const char * a1, const QByteArray & a2 )
- QDataStream & operator>> ( QDataStream & in, QByteArray & ba )
Макросы
Подробное описание
Класс QByteArray предоставляет массив байт.
QByteArray может быть использован для хранения как сырых байт (включая и '\0'), так и традиционных 8-битных нуль-терминированых строк. Использование QByteArray более удобно, чем использование const char *. Здесь всегда гарантировано, что данные завершаются '\0' и используется неявное совместное использование данных (copy-on-write) для экономии памяти и избегания ненужного копирования данных.
В дополнение к QByteArray Qt также предоставляет класс QString для хранения строковых данных. В большинстве случаев вам больше подойдет класс QString. Он хранит 16-битные символы в Unicode, что упрощает хранение не-ASCII и нелатинских символов в вашем приложении. Кроме того, QString повсюду используется в Qt API. Два основных случая, где QByteArray подходит - это, когда вам нужно сохранить сырые двоичные данные, и когда критично сохранение памяти (например, в Qt для Embedded Linux).
Один из способов инициализации QByteArray - просто передать const char * в конструктор. Например, следующий код создает массив из 5 байт, содержащий данные "Hello":
QByteArray ba("Hello");
Несмотря на то, что size() равен 5, байтовый массив также содержит в конце дополнительный символ '\0', так что, если используется функция, требующая указатель непосредственно на данные (т.е. вызов data()), то эти данные будут гарантированно заканчиваться '\0'.
QByteArray делает полную копию данных const char *, так что вы можете модифицировать их, не получив в дальнейшем побочных эффектов. (Если, из соображения производительности, вы не хотите делать полное копирование данных, используйте QByteArray::fromRawData().)
Другой способ – установить размер массива, используя resize() и инициализировать данные побайтно. QByteArray использует индексы начинающиеся с 0, как принято в массивах C++. Для доступа к байту в конкретной позиции индекса, вы можете использовать оператор [](). В неконстантных массивах оператор []() возвращает ссылку на байт, которая может быть использована с левой стороны операции присваивания. Например:
QByteArray ba;
ba.resize(5);
ba[0] = 0x3c;
ba[1] = 0xb8;
ba[2] = 0x64;
ba[3] = 0x18;
ba[4] = 0xca;
Для доступа "только для чтения", существует альтернативный синтаксис at():
for (int i = 0; i < ba.size(); ++i) {
if (ba.at(i) >= 'a' && ba.at(i) <= 'f')
cout << "Found character in range [a-f]" << endl;
}
at() может работать быстрее, чем оператор [](), потому что при этом никогда не создается полной копии.
Чтобы получить несколько байт за раз используйте left(), right() или mid().
QByteArray может вмещать байты '\0'. Функция size() всегда возвращает размер всего массива, включая вставленные '\0'. Если вы хотите получить длину данных вплоть до первого символа '\0', но не включая его, вызовите для массива qstrlen().
После вызова resize(), добавленные байты будут содержать неопределенные значения. Чтобы проинициализировать все байты определенным значением, вызовите fill().
Чтобы получить указатель непосредственно на символьные данные, вызовите data() или constData(). Эти функции возвращают указатель на начало данных. Указатель гарантировано остаётся правильным до тех пор, пока не будет вызвана неконстантная функция на QByteArray. Также гарантируется, что данные заканчиваются байтом '\0'. Этот байт '\0' автоматически предоставляется классом QByteArray и не учитывается в size().
QByteArray предоставляет следующие основные функции для модификации байт данных: append(), prepend(), insert(), replace() и remove(). Например:
QByteArray x("and");
x.prepend("rock ");
x.append(" roll");
x.replace(5, 3, "&");
В функциях replace() и remove() первые два аргумента указывают на позицию, от которой начинается удаление, и количество байт, которое должно быть удалено.
Когда вы добавляете данные с помощью append() в непустой массив, он может быть перераспределен в памяти перед копированием в него новых данных. Вы можете избежать такого поведения, вызвав функцию reserve(), которая выделит точное количество памяти. Вы также можете вызвать capacity(), чтобы узнать, сколько памяти занимает QByteArray в действительности. Данные, добавляемые в пустой массив, не копируются.
Часто надо удалить из массива незначащие пробелы и символы-разделители ("whitespace"), такие как '\n', '\t', ' ' и т.п. Если вы хотите удалить пробельные символы с обоих концов QByteArray, используйте trimmed(). Если вы хотите удалить символы-разделители с обоих концов массива и заменить последовательности из нескольких таких символов одним пробелом внутри байтового массива, используйте simplified().
Если вы хотите найти все вхождения символа или подстроки в QByteArray, используйте indexOf() или lastIndexOf(). Первая функция осуществляет поиск вперед от указанной позиции, а последняя - осуществляет поиск назад. Обе функции возвращают индекс позиции символа или подстроки, если они были найдены, в противном случае возвращается -1. Например, здесь приведен типичный цикл, который находит все совпадения конкретной подстроки:
QByteArray ba("We must be <b>bold</b>, very <b>bold</b>");
int j = 0;
while ((j = ba.indexOf("<b>", j)) != -1) {
cout << "Found <b> tag at index position " << j << endl;
++j;
}
Если вы просто хотите только проверить, содержит ли QByteArray конкретный символ или подстроку, используйте contains(). Если вам нужно узнать, сколько раз символ или подстрока встречаются в массиве, используйте count(). Если вы хотите поменять одно значение на другое во всем массиве, используйте одну из двух перегруженных функций replace() с двумя параметрами.
Два QByteArray можно сравнить используя перегруженные операторы <(), <=(), ==(), >=() и т.д. Сравнение базируется исключительно на числовых значениях символов массива и проводится очень быстро, но не всегда соответствует желаниям человека. Функция QString::localeAwareCompare() лучше подходит для сортировки строк пользовательского интерфейса.
Исторически сложилось, что в QByteArray существует различие между неинициализированным (null byte) массивом и пустым (empty) массивом. Неинициализированный массив - это массив, который создан с помощью конструктора QByteArray() по умолчанию или конструктором с аргументом (const char *)0. Пустой массив это массив, имеющий длину 0. Неинициализированный массив всегда пустой, но пустой массив необязательно будет неинициализированным:
QByteArray().isNull();
QByteArray().isEmpty();
QByteArray("").isNull();
QByteArray("").isEmpty();
QByteArray("abc").isNull();
QByteArray("abc").isEmpty();
Все функции, за исключением isNull(), рассматривают неинициализированный (null) массив, как пустой (empty). Например, data() вернет указатель на '\0' для неинициализированного (null) массива (не указатель null), а QByteArray(), при сравнении, равен QByteArray(""). Мы рекомендуем вам всегда использовать isEmpty() и избегать isNull().
Замечания о локали
Преобразования число-строка
Функции, которые выполняют преобразования между числовыми типами данных и строками, выполняются в локали C, независимо от настроек локали пользователя. Используйте QString, чтобы выполнять преобразование с учётом локали между числами и строками.
8-bit сравнение символов
В QByteArray понятие о верхнем и нижнем регистре символов, и который из символов "больше чем" или "меньше чем" другой - являются зависимыми от локали. Это касается функций, которые поддерживают чувствительность к регистру или сравнивают свои аргументы в верхнем или нижнем регистрах. Чувствительные к регистру операции и сравнения будут точны, если обе строки содержат только символы ASCII. (Если установлен $LC_CTYPE, большинство Unix систем делают все правильно.) Это касается следующих функций contains(), indexOf(), lastIndexOf(), operator<(), operator<=(), operator>(), operator>=(), toLower() и toUpper().
Этот вопрос не касается строк QString, так как они представляют символы используя Unicode.
Смотрите также QString и QBitArray.
Описание функций-членов
QByteArray::QByteArray ()
Создает неинициализированный байтовый массив.
Смотрите также isEmpty().
QByteArray::QByteArray ( const char * str )
Создает байтовый массив, проинициализированный строкой str.
QByteArray делает полную копию строки.
QByteArray::QByteArray ( const char * data, int size )
Создает байтовый массив, содержащий первые size байт из массива data.
Если data равен 0, создастся неинициализированный массив.
QByteArray делает полную копию строки.
Смотрите также fromRawData().
QByteArray::QByteArray ( int size, char ch )
Создается байтовый массив длиной size, каждый байт которого проинициализирован символом ch.
Смотрите также fill().
QByteArray::QByteArray ( const QByteArray & other )
Создаёт копию other.
Эта операция требует фиксированного времени (constant time), потому что QByteArray использует неявное разделение данных. Это делает возвращение QByteArray, как результата функции, очень быстрым. Если экземпляр с разделением данных изменяется, то он будет скопирован (copy-on-write), и это потребует линейного времени.
Смотрите также operator=().
QByteArray::~QByteArray ()
Уничтожает байтовый массив.
QByteArray & QByteArray::append ( const QByteArray & ba )
Добавляет массив ba в конец этого массива.
Пример:
QByteArray x("free");
QByteArray y("dom");
x.append(y);
То же самое, что и insert(size(), ba).
Обычно, это очень быстрая операция (занимающая фиксированное время (constant time)), потому что QByteArray резервирует в памяти дополнительное место после данных, чтобы иметь возможность не переаспределять память каждый раз, когда требуется увеличить массив.
Замечание: QByteArray это класс с неявным совместным использованием данных. Следовательно, если this является пустым QByteArray, то this просто будет совместно использовать данные хранящиеся в ba. В этом случае, данные не копируются.
Смотрите также operator+=(), prepend() и insert().
QByteArray & QByteArray::append ( const QString & str )
Это перегруженная функция.
Добавляет строку str в конец этого байтового массива. Данные в кодировке Unicode конвертируются в 8-битные символы с помощью QString::toAscii().
Если QString содержит не-ASCII Unicode символы, использование этой функции может привести к потере информации. Вы можете запретить эту функцию объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вы должны будете вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()), если вам нужно конвертировать данные в const char *.
QByteArray & QByteArray::append ( const char * str )
Это перегруженная функция.
Добавляет строку str в конец этого байтового массива.
QByteArray & QByteArray::append ( const char * str, int len )
Эта функция перегружает функцию append().
Добавляет первые len символов строки str в данный байтовый массив и возвращает ссылку на этот байтовый массив.
Если len отрицательна,то длина строки будет определена автоматически используя qstrlen(). Если len равна нулю или длина строки равна нулю, к байтовому массиву ничего добавляться не будет.
QByteArray & QByteArray::append ( char ch )
Это перегруженная функция.
Добавляет символ chв конец этого массива.
char QByteArray::at ( int i ) const
Возвращает символ из массива, находящегося в позиции с индексом i.
i должен быть действительным индексом в массиве (т.е. 0 <= i < size()).
Смотрите также operator[]().
int QByteArray::capacity () const
Возвращает максимальное число байт, которое может быть сохранено в массиве без дополнительного перераспределения памяти.
Единственная цель этой функции обеспечить оптимальное использование памяти в QByteArray. Вообще, у вас крайне редко возникнет необходимость вызывать эту функцию. Если вы хотите узнать количество байт в массиве, используйте size().
Смотрите также reserve() и squeeze().
void QByteArray::chop ( int n )
Удаляет n байт в конце массива.
Если n больше чем size(), то вы получите пустой массив.
Пример:
QByteArray ba("STARTTLS\r\n");
ba.chop(2);
Смотрите также truncate(), resize() и left().
void QByteArray::clear ()
Очищает содержимое байтового массива и делает его пустым.
Смотрите также resize() и isEmpty().
const char * QByteArray::constData () const
Возвращает указатель на данные, хранящиеся массиве. Указатель можно использовать для доступа к байтам, которые составляют массив. Данные завершаются символом '\0'. Указатель остается действительным до тех пор, пока байтовый массив не будет перераспределен в памяти или разрушен.
Эта функция наиболее полезна для передачи байтового массива в функцию, которая принимает аргумент const char *.
Замечание: QByteArray может хранить любые значения байт, включая '\0', но большинство функций, которые принимают в качестве аргумента char * предполагают, что данные завершаются первым встретившимся '\0'.
Смотрите также data() и operator[]().
bool QByteArray::contains ( const QByteArray & ba ) const
Возвращает true, если массив содержит в себе массив ba; в противном случае возвращает false.
Смотрите также indexOf() и count().
bool QByteArray::contains ( const char * str ) const
Это перегруженная функция.
Возвращает true, если в массиве содержится строка str; в противном случае возвращает false.
bool QByteArray::contains ( char ch ) const
Это перегруженная функция.
Возвращает true, если массив содержит символ ch; в противном случае возвращает false.
int QByteArray::count ( const QByteArray & ba ) const
Возвращает количество (возможно перекрывающихся) вхождений массива ba в этот массив.
Смотрите также contains() и indexOf().
int QByteArray::count ( const char * str ) const
Это перегруженная функция.
Возвращает количество (возможно перекрывающихся) вхождений строки str в массив.
int QByteArray::count ( char ch ) const
Это перегруженная функция.
Возвращает количество вхождений символа ch в исходном массиве.
Смотрите также contains() и indexOf().
int QByteArray::count () const
Это перегруженная функция.
То же, что и size().
char * QByteArray::data ()
Возвращает указатель на данные, хранящиеся массиве. Указатель можно использовать для доступа и изменения данных, которые составляют массив. Данные завершаются символом '\0'.
Пример:
QByteArray ba("Hello world");
char *data = ba.data();
while (*data) {
cout << "[" << *data << "]" << endl;
++data;
}
Указатель остается действительным до тех пор, пока байтовый массив не будет перераспределен в памяти или разрушен. Если нужен доступ только для чтения, то функция constData() работает быстрее, потому что в этом случае не требуется создавать полную копию данных.
Эта функция наиболее полезна для передачи байтового массива в функцию, которая принимает аргумент const char *.
Замечание: QByteArray может хранить любые значения байт, включая '\0', но большинство функций, которые принимают в качестве аргумента char * предполагают, что данные завершаются первым встретившимся '\0'.
Смотрите также constData() и operator[]().
const char * QByteArray::data () const
Это перегруженная функция.
bool QByteArray::endsWith ( const QByteArray & ba ) const
Возвращает true, если этот массив оканчивается массивом ba; в противном случае возвращает false.
Пример:
QByteArray url("http:
if (url.endsWith(".html"))
...
Смотрите также startsWith() и right().
bool QByteArray::endsWith ( const char * str ) const
Это перегруженная функция.
Возвращает true, если массив оканчивается строкой str; в противном случае возвращает false.
bool QByteArray::endsWith ( char ch ) const
Это перегруженная функция.
Возвращает true, если массив оканчивается символом ch; в противном случае возвращает false.
QByteArray & QByteArray::fill ( char ch, int size = -1 )
Присваивает каждому байту массива значение ch. Если size отличен от -1 (значения по умолчанию), то длина массива должна быть определена как size заранее.
Пример:
QByteArray ba("Istambul");
ba.fill('o');
ba.fill('X', 2);
Смотрите также resize().
QByteArray QByteArray::fromBase64 ( const QByteArray & base64 ) [static]
Возвращает копию массива base64, декодированного из кодировки Base64. Входной массив не проверяется на корректность; неверные символы исходного массива пропускаются, процесс декодирования продолжается со следующего символа.
Например:
QByteArray text = QByteArray::fromBase64("UXQgaXMgZ3JlYXQh");
text.data(); !"
Алгоритм, использующийся при декодировании из кодировки Base64, определен вRFC 2045.
Смотрите также toBase64().
QByteArray QByteArray::fromHex ( const QByteArray & hexEncoded ) [static]
Возвращает копию массива hexEncoded, декодированного из шестнадцатеричной кодировки. Входной массив не проверяется на корректность; неверные символы исходного массива пропускаются, процесс декодирования продолжается со следующего символа.
Например:
QByteArray text = QByteArray::fromHex("517420697320677265617421");
text.data(); !"
Смотрите также toHex().
QByteArray QByteArray::fromPercentEncoding ( const QByteArray & input, char percent = '%' ) [static]
Возвращает копию массива input, декодированную из процентного представления в URI/URL-стиле. Параметр percent позволяет вам заменить символ '%' на другой (например, '_' или '=').
Например:
QByteArray text = QByteArray::fromPercentEncoding("Qt%20is%20great%33");
text.data(); !"
Эта функция была введена в Qt 4.4.
Смотрите также toPercentEncoding() и QUrl::fromPercentEncoding().
QByteArray QByteArray::fromRawData ( const char * data, int size ) [static]
Конструирует QByteArray, который использует первые size байт массива data. Байты не копируются. QByteArray будет содержать указатель data. Вызывающий должен гарантировать, что data не будет удалён или изменён до тех пор, пока существует этот QByteArray и любые его копии, которые не были изменены. Другими словами, так как QByteArray - это класс с неявным совместным использованием данных и экземпляр возвращаемый этой функцией содержит указатель data, вызывающая функция не должна удалять data или изменять его непосредственно до тех пор, пока существует возвращённый QByteArray и любые его копии. Однако, QByteArray не становится владельцем data, так что деструктор QByteArray никогда не удалит сами данные data, даже, когда последний QByteArray, ссылающийся на data, будет уничтожен.
Последующая попытка изменить содержимое возвращённого QByteArray, или любой его копии, приведёт к созданию глубокой копии массива data перед внесением изменений. Это гарантирует, что сам массив data ни когда не будет изменён с помощью QByteArray.
Этот пример показывает, как читать данные используя QDataStream для сырых данных в памяти без копирования самих данных в QByteArray:
static const char mydata[] = {
0x00, 0x00, 0x03, 0x84, 0x78, 0x9c, 0x3b, 0x76,
0xec, 0x18, 0xc3, 0x31, 0x0a, 0xf1, 0xcc, 0x99,
...
0x6d, 0x5b
};
QByteArray data = QByteArray::fromRawData(mydata, sizeof(mydata));
QDataStream in(&data, QIODevice::ReadOnly);
...
Предупреждение: Байтовый массив, созданный с помощью fromRawData() не оканчивается нулем, кроме случаев, когда исходный массив данных содержит '\0' в позиции size. В то время как это не имеет значения для QDataStream или функций подобных indexOf(), передача массива байт в функцию принимающую const char * и ожидающую строку с завершающим символом '\0' потерпит неудачу.
Смотрите также data() и constData().
int QByteArray::indexOf ( const QByteArray & ba, int from = 0 ) const
Возвращает индекс позиции первого вхождения массива ba в этот массив, поиск осуществляется вперед начиная с позиции с индексом from. Возвращает -1, если ba не может быть найден.
Пример:
QByteArray x("sticky question");
QByteArray y("sti");
x.indexOf(y);
x.indexOf(y, 1);
x.indexOf(y, 10);
x.indexOf(y, 11);
Смотрите также lastIndexOf(), contains() и count().
int QByteArray::indexOf ( const QString & str, int from = 0 ) const
Это перегруженная функция.
Возвращает индекс позиции первого вхождения строки str в массив, поиск осуществляется вперед начиная с позиции с индексом from. Возвращает -1, если str не может быть найдена.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Если QString содержит не-ASCII Unicode символы, использование этой функции может привести к потере информации. Вы можете запретить эту функцию объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вы должны будете вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()), если вам нужно конвертировать данные в const char *.
int QByteArray::indexOf ( const char * str, int from = 0 ) const
Это перегруженная функция.
Возвращает индекс позиции первого вхождения строки str в массив, поиск осуществляется вперед начиная с позиции с индексом from. Возвращает -1, если str не может быть найдена.
int QByteArray::indexOf ( char ch, int from = 0 ) const
Это перегруженная функция.
Возвращает индекс позиции первого вхождения символа ch в массиве, поиск осуществляется вперед начиная с позиции с индексом from. Возвращает -1, если ch не может быть найден.
Пример:
QByteArray ba("ABCBA");
ba.indexOf("B");
ba.indexOf("B", 1);
ba.indexOf("B", 2);
ba.indexOf("X");
Смотрите такжеlastIndexOf() и contains().
QByteArray & QByteArray::insert ( int i, const QByteArray & ba )
Вставляет массив ba в позицию с индексом i и возвращает ссылку на этот массив.
Пример:
QByteArray ba("Meal");
ba.insert(1, QByteArray("ontr"));
Смотрите также append(), prepend(), replace() и remove().
QByteArray & QByteArray::insert ( int i, const QString & str )
Это перегруженная функция.
Вставляет в массив строку str в позицию с индексом i. Данные в Unicode конвертируются в 8-битные символы используя функцию QString::toAscii().
Если i больше чем size(), массив сначала будет расширен с помощью resize().
Если QString содержит не-ASCII Unicode символы, использование этой функции может привести к потере информации. Вы можете запретить эту функцию объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вы должны будете вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()), если вам нужно конвертировать данные в const char *.
QByteArray & QByteArray::insert ( int i, const char * str )
Это перегруженная функция.
Вставляет в массив строку str в позицию с индексом i.
Если i больше чем size(), массив сначала будет расширен с помощью resize().
QByteArray & QByteArray::insert ( int i, char ch )
Это перегруженная функция.
Вставляет символ ch в позицию i в массиве. Если i больше чем size(), массив сначала будет расширен с помощью функции resize().
bool QByteArray::isEmpty () const
Возвращает true, если массив имеет размер 0; в противном случае возвращает false.
Пример:
QByteArray().isEmpty();
QByteArray("").isEmpty();
QByteArray("abc").isEmpty();
Смотрите также size().
bool QByteArray::isNull () const
Возвращает true, если массив не инициализирован; в противном случае возвращает false.
Пример:
QByteArray().isNull();
QByteArray("").isNull();
QByteArray("abc").isNull();
Qt делает различия между неинициализированным и пустым массивом по историческим причинам. Для большинства приложений имеет значение, содержит байтовый массив данные или нет, и это можно определить с помощью isEmpty().
Смотрите также isEmpty().
int QByteArray::lastIndexOf ( const QByteArray & ba, int from = -1 ) const
Возвращает индекс позиции последнего вхождения массива ba в этот массив, поиск осуществляется назад начиная с позиции с индексом from. Если from равен -1 (по умолчанию), поиск начинается с последнего байта. Возвращает -1, если ba не может быть найден.
Пример:
QByteArray x("crazy azimuths");
QByteArray y("azy");
x.lastIndexOf(y);
x.lastIndexOf(y, 6);
x.lastIndexOf(y, 5);
x.lastIndexOf(y, 1);
Смотрите также indexOf(), contains() и count().
int QByteArray::lastIndexOf ( const QString & str, int from = -1 ) const
Это перегруженная функция.
Возвращает индекс позиции последнего вхождения строки str в массив, поиск осуществляется назад начиная с позиции с индексом from. Если from равен -1 (по умолчанию), поиск начинается с последнего (size() - 1) байта. Возвращает -1, если str не может быть найдена.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Если QString содержит не-ASCII Unicode символы, использование этой функции может привести к потере информации. Вы можете запретить эту функцию объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вы должны будете вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()), если вам нужно конвертировать данные в const char *.
int QByteArray::lastIndexOf ( const char * str, int from = -1 ) const
Это перегруженная функция.
Возвращает индекс позиции последнего вхождения строки str в массив, поиск осуществляется назад начиная с позиции с индексом from. Если from равен -1 (по умолчанию), поиск начинается с последнего (size() - 1) байта. Возвращает -1, если str не может быть найдена.
int QByteArray::lastIndexOf ( char ch, int from = -1 ) const
Это перегруженная функция.
Возвращает индекс позиции последнего вхождения символа ch в массив, поиск осуществляется назад начиная с позиции с индексом from. Если from равен -1 (по умолчанию), поиск начинается с последнего (size() - 1) байта. Возвращает -1, если ch не может быть найден.
Пример:
QByteArray ba("ABCBA");
ba.lastIndexOf("B");
ba.lastIndexOf("B", 3);
ba.lastIndexOf("B", 2);
ba.lastIndexOf("X");
Смотрите также indexOf() и contains().
QByteArray QByteArray::left ( int len ) const
Возвращает массив, содержащий len крайних слева байт из исходного массива.
Массив будет возвращен полностью, если len больше, чем size().
Пример:
QByteArray x("Pineapple");
QByteArray y = x.left(4);
Смотрите также right(), mid(), startsWith() и truncate().
QByteArray QByteArray::leftJustified ( int width, char fill = ' ', bool truncate = false ) const
Возвращает массив размером width, который содержит исходный массив, дополненный символом fill.
Если truncate равно false и size() массива больше, чем width, то возвращается копия этого массива.
Если truncate равно true и size() массива больше, чем width, то возвращается копия массива, у которой байты после позиции width отсечены.
Пример:
QByteArray x("apple");
QByteArray y = x.leftJustified(8, '.');
Смотрите также rightJustified().
int QByteArray::length () const
То же, что и size().
QByteArray QByteArray::mid ( int pos, int len = -1 ) const
Возвращает массив, содержащий len байт из этого массива, начиная с позиции pos.
Если len равно -1 (по умолчанию) или pos + len >= size(), то возвращается массив, содержащий все байты, начиная с позиции pos и до конца массива.
Пример:
QByteArray x("Five pineapples");
QByteArray y = x.mid(5, 4);
QByteArray z = x.mid(5);
Смотрите также left() и right().
QByteArray QByteArray::number ( int n, int base = 10 ) [static]
Возвращает массив, содержащий строку, эквивалентную числу n в системе исчисления по базе base (10 по умолчанию). Параметр base может быть любым значением от 2 до 36.
Пример:
int n = 63;
QByteArray::number(n);
QByteArray::number(n, 16);
QByteArray::number(n, 16).toUpper();
Замечание: Формат числа не локализован; по умолчанию используется локаль Cи независимо от пользовательской локали.
Смотрите также setNum() и toInt().
QByteArray QByteArray::number ( uint n, int base = 10 ) [static]
Это перегруженная функция.
Смотрите также toUInt().
QByteArray QByteArray::number ( qlonglong n, int base = 10 ) [static]
Это перегруженная функция.
Смотрите также toLongLong().
QByteArray QByteArray::number ( qulonglong n, int base = 10 ) [static]
Это перегруженная функция.
Смотрите также toULongLong().
QByteArray QByteArray::number ( double n, char f = 'g', int prec = 6 ) [static]
Это перегруженная функция.
Возвращает массив, который содержит печатаемое значение n, представленное в формате f с точностью prec.
Аргумент n форматируется в соответствии с форматом f, определенному по умолчанию как g, и может быть одним из следующих:
Формат | Значение |
e | представляется как [-]9.9e[+|-]999 |
E | представляется как [-]9.9E[+|-]999 |
f | представляется как [-]9.9 |
g | используется формат e или f, смотря какой окажется короче |
G | используется формат E или f, смотря какой окажется короче |
Для 'e', 'E' и 'f' параметр prec указывает количество цифр после точки. Для 'g' и 'G' параметр prec указывает максимальное количество значащих цифр (замыкающие нули опускаются).
QByteArray ba = QByteArray::number(12.3456, 'E', 3);
Замечание: Формат числа не локализован; по умолчанию используется локаль Cи независимо от пользовательской локали.
Смотрите также toDouble().
QByteArray & QByteArray::prepend ( const QByteArray & ba )
Добавляет массив ba перед этим массивом и возвращает ссылку на этот массив.
Пример:
QByteArray x("ship");
QByteArray y("air");
x.prepend(y);
Это то же самое, что и insert(0, ba).
Замечание: QByteArray это класс с неявным совместным использованием данных. Следовательно, если this является пустым QByteArray, то this просто будет совместно использовать данные хранящиеся в ba. В этом случае, данные не копируются.
Смотрите также append() и insert().
QByteArray & QByteArray::prepend ( const char * str )
Это перегруженная функция.
Добавляет строку str перед этим массивом.
QByteArray & QByteArray::prepend ( char ch )
Это перегруженная функция.
Добавляет символ chперед этим массивом.
void QByteArray::push_back ( const QByteArray & other )
Эта функция обеспечивает совместимость с STL. Это эквивалентно append(other).
void QByteArray::push_back ( const char * str )
Это перегруженная функция.
Тоже самое, что и append(str).
void QByteArray::push_back ( char ch )
Это перегруженная функция.
Тоже самое, что и append(ch).
void QByteArray::push_front ( const QByteArray & other )
Эта функция обеспечивает совместимость с STL. Это эквивалентно prepend(other).
void QByteArray::push_front ( const char * str )
Это перегруженная функция.
Тоже самое, что и prepend(str).
void QByteArray::push_front ( char ch )
Это перегруженная функция.
Тоже самое, что и prepend(ch).
QByteArray & QByteArray::remove ( int pos, int len )
Удаляет len байт из массива, начиная с позиции с индексом pos, и возвращает ссылку на массив.
Если pos не попадает в границы массива, то ничего не происходит. Если pos действительный, но pos + len больше, чем размер массива, то массив усекается по позиции pos.
Пример:
QByteArray ba("Montreal");
ba.remove(1, 4);
Смотрите также insert() и replace().
QByteArray QByteArray::repeated ( int times ) const
Возвращает копию данного байтового массива, повторенную заданного количество раз.
Если количество раз меньше 1, то возвращается пустой байтовый массив.
Пример:
QByteArray ba("ab");
ba.repeated(4);
Эта функция была введена в Qt 4.5.
QByteArray & QByteArray::replace ( int pos, int len, const QByteArray & after )
Заменяет len байт начиная с позиции с индексом pos на байтовый массив after, и возвращает ссылку на этот массив.
Пример:
QByteArray x("Say yes!");
QByteArray y("no");
x.replace(4, 3, y);
!"
Смотрите также insert() и remove().
QByteArray & QByteArray::replace ( int pos, int len, const char * after )
Это перегруженная функция.
QByteArray & QByteArray::replace ( const QByteArray & before, const QByteArray & after )
Это перегруженная функция.
Заменяет каждое вхождение массива before на массив after.
Пример:
QByteArray ba("colour behaviour flavour neighbour");
ba.replace(QByteArray("ou"), QByteArray("o"));
QByteArray & QByteArray::replace ( const char * before, const QByteArray & after )
Это перегруженная функция.
Заменяет каждое вхождение строки before на массив after.
QByteArray & QByteArray::replace ( const char * before, int bsize, const char * after, int asize )
Это перегруженная функция.
Заменяет каждое вхождение строки before на строку after. Поскольку размеры строк заданы bsize и asize, они могут содержать нулевые символы и им не нужно заканчиваться нулем.
QByteArray & QByteArray::replace ( const QByteArray & before, const char * after )
Это перегруженная функция.
Заменяет каждое вхождение массива before на строку after.
QByteArray & QByteArray::replace ( const QString & before, const QByteArray & after )
Это перегруженная функция.
Заменяет каждое вхождение строки before на массив after. Данные в Unicode конвертируются в 8-битные символы используя функцию QString::toAscii().
Если QString содержит не-ASCII Unicode символы, использование этой функции может привести к потере информации. Вы можете запретить эту функцию объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вы должны будете вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()), если вам нужно конвертировать данные в const char *.
QByteArray & QByteArray::replace ( const QString & before, const char * after )
Это перегруженная функция.
Заменяет каждое вхождение строки before на строку after.
QByteArray & QByteArray::replace ( const char * before, const char * after )
Это перегруженная функция.
Заменяет каждое вхождение строки before на строку after.
QByteArray & QByteArray::replace ( char before, const QByteArray & after )
Это перегруженная функция.
Заменяет каждое вхождение символа before на массив after.
QByteArray & QByteArray::replace ( char before, const QString & after )
Это перегруженная функция.
Заменяет каждое вхождение символа before на строку after. Данные в Unicode конвертируются в 8-битные символы используя функцию QString::toAscii().
Если QString содержит не-ASCII Unicode символы, использование этой функции может привести к потере информации. Вы можете запретить эту функцию объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вы должны будете вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()), если вам нужно конвертировать данные в const char *.
QByteArray & QByteArray::replace ( char before, const char * after )
Это перегруженная функция.
Заменяет каждое вхождение символа before на строку after.
QByteArray & QByteArray::replace ( char before, char after )
Это перегруженная функция.
Заменяет каждое вхождение символа before на символ after.
void QByteArray::reserve ( int size )
Попытка зарезервировать место в памяти размером, по крайней мере, size байт. Если вы знаете наперёд насколько большим будет массив, вы можете вызвать эту функцию, и, если вы вызываете resize() много раз, то, возможно, получите лучшую производительность. Если size недооценён, то самое худшее, что может произойти это то, что QByteArray будет работать медленнее.
Единственная цель этой функции обеспечить оптимальное использование памяти в QByteArray. Вообще, у вас крайне редко возникнет необходимость вызывать эту функцию. Если вы хотите изменить размер массива, вызывайте resize().
Смотрите также squeeze() и capacity().
void QByteArray::resize ( int size )
Устанавливает размер массива в size байт.
Если size больше, чем текущий размер, то байтовый массив увеличится до size байт, добавив дополнительные байты в конец. Новые байты ничем не проинициализированы.
Если size меньше, чем текущий размер, то в конце массива будут удалены лишние байты.
Смотрите также size().
QByteArray QByteArray::right ( int len ) const
Возвращает массив, содержащий len крайних справа байт из этого массива.
Массив будет возвращен полностью, если len больше, чем size().
Пример:
QByteArray x("Pineapple");
QByteArray y = x.right(5);
Смотрите также endsWith(), left() и mid().
QByteArray QByteArray::rightJustified ( int width, char fill = ' ', bool truncate = false ) const
Возвращает байтовый массив размером width, который содержит символ fill, за которым следует этот массив.
Если truncate равно false и размер массива больше, чем width, то возвращается массив, являющийся копией этого массива.
Если truncate равен true и размер массива больше, чем width, то возвращается массив, усечённый в позиции width.
Пример:
QByteArray x("apple");
QByteArray y = x.rightJustified(8, '.');
Смотрите также leftJustified().
QByteArray & QByteArray::setNum ( int n, int base = 10 )
Устанавливает массив в печатное представление числа n по основанию base (по умолчанию 10) и возвращает ссылку на массив. Параметр base может быть любым значением от 2 до 36.
Пример:
QByteArray ba;
int n = 63;
ba.setNum(n);
ba.setNum(n, 16);
Замечание: Формат числа не локализован; по умолчанию используется локаль Cи независимо от пользовательской локали.
Смотрите также number() и toInt().
QByteArray & QByteArray::setNum ( uint n, int base = 10 )
Это перегруженная функция.
Смотрите также toUInt().
QByteArray & QByteArray::setNum ( short n, int base = 10 )
Это перегруженная функция.
Смотрите также toShort().
QByteArray & QByteArray::setNum ( ushort n, int base = 10 )
Это перегруженная функция.
Смотрите также toUShort().
QByteArray & QByteArray::setNum ( qlonglong n, int base = 10 )
Это перегруженная функция.
Смотрите также toLongLong().
QByteArray & QByteArray::setNum ( qulonglong n, int base = 10 )
Это перегруженная функция.
Смотрите также toULongLong().
QByteArray & QByteArray::setNum ( double n, char f = 'g', int prec = 6 )
Это перегруженная функция.
Устанавливает массив в печатное представление числа n, представленное в формате f с точностью prec и возвращает ссылку на байтовый массив.
Формат f может быть следующим:
Формат | Значение |
e | представляется как [-]9.9e[+|-]999 |
E | представляется как [-]9.9E[+|-]999 |
f | представляется как [-]9.9 |
g | используется формат e или f, смотря какой окажется короче |
G | используется формат E или f, смотря какой окажется короче |
Для 'e', 'E' и 'f' параметр prec указывает количество цифр после точки. Для 'g' и 'G' параметр prec указывает максимальное количество значащих цифр (замыкающие нули опускаются).
Замечание: Формат числа не локализован; по умолчанию используется локаль Cи независимо от пользовательской локали.
Смотрите также toDouble().
QByteArray & QByteArray::setNum ( float n, char f = 'g', int prec = 6 )
Это перегруженная функция.
Устанавливает массив в печатное представление числа n, представленное в формате f с точностью prec и возвращает ссылку на байтовый массив.
Замечание: Формат числа не локализован; по умолчанию используется локаль Cи независимо от пользовательской локали.
Смотрите также toFloat().
QByteArray QByteArray::simplified () const
Возвращает байтовый массив, у которого удалены пробельные символы в начале и в конце, и у которого все последовательные пробельные символы заменены одиночным пробелом.
Символами-разделителями являются символы, для которых по стандарту C++ функция isspace() возвращает true. Они включают ASCII символы '\t', '\n', '\v', '\f', '\r' и ' '.
Пример:
QByteArray ba(" lots\t of\nwhitespace\r\n ");
ba = ba.simplified();
Смотрите также trimmed().
int QByteArray::size () const
Возвращает количество байт в этом массиве.
Последний байт в массиве находится в позиции size() - 1. Кроме того, QByteArray гарантированно всегда содержит в позиции size() символ '\0', так что вы можете использовать значение, возвращаемое функциями data() и constData() в качестве аргумента для функций, требующих строки, оканчивающиеся нулем ('\0').
Пример:
QByteArray ba("Hello");
int n = ba.size();
ba.data()[0];
ba.data()[4];
ba.data()[5];
Смотрите также isEmpty() и resize().
QList<QByteArray> QByteArray::split ( char sep ) const
Расщепляет массив там, где встречается символ sep, и возвращает список получившихся массивов. Если sep не встретился нигде в массиве, split() вернет список, состоящий из одного элемента, содержащего весь массив.
void QByteArray::squeeze ()
Освобождает любую память, не требующуюся для хранения данных массива.
Единственная цель этой функции обеспечить оптимальное использование памяти в QByteArray. Вообще, у вас крайне редко возникнет необходимость вызывать эту функцию.
Смотрите также reserve() и capacity().
bool QByteArray::startsWith ( const QByteArray & ba ) const
Возвращает true, если этот массив начинается с массива ba; в противном случае возвращает false.
Пример:
QByteArray url("ftp:
if (url.startsWith("ftp:"))
...
Смотрите также endsWith() и left().
bool QByteArray::startsWith ( const char * str ) const
Это перегруженная функция.
Возвращает true, если массив начинается со строки str; в противном случае возвращает false.
bool QByteArray::startsWith ( char ch ) const
Это перегруженная функция.
Возвращает true, если массив начинается с символа ch; в противном случае возвращает false.
QByteArray QByteArray::toBase64 () const
Возвращает копию массива в кодировке Base64.
QByteArray text("Qt is great!");
text.toBase64();
Алгоритм, использующийся при кодировании в кодировке Base64, определен в RFC 2045.
Смотрите также fromBase64().
double QByteArray::toDouble ( bool * ok = 0 ) const
Возвращает массив преобразованный в значение типа double.
Вернёт 0.0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
QByteArray string("1234.56");
double a = string.toDouble();
Замечание: Конвертирование числа выполняется, по умолчанию, в локали Си, независимо от пользовательской локали.
Смотрите также number().
float QByteArray::toFloat ( bool * ok = 0 ) const
Возвращает массив преобразованный в значение типа float.
Вернёт 0.0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Замечание: Конвертирование числа выполняется, по умолчанию, в локали Си, независимо от пользовательской локали.
Смотрите также number().
QByteArray QByteArray::toHex () const
Возвращает копию массива, преобразованного в шестнадцатеричный вид. Шестнадцатеричное представление использует цифры 0-9 и буквы a-f.
Смотрите также fromHex().
int QByteArray::toInt ( bool * ok = 0, int base = 10 ) const
Возвращает массив, преобразованный в значение типа int, используя систему исчисления base, которая по умолчанию равна 10 и может быть любым числом от 2 до 36 или 0.
Если base равна 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x" - это шестнадцатеричное представление; если массив начинается с "0" - это восьмеричное представление числа; в остальных случаях это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
QByteArray str("FF");
bool ok;
int hex = str.toInt(&ok, 16);
int dec = str.toInt(&ok, 10);
Замечание: Конвертирование числа выполняется, по умолчанию, в локали Си, независимо от пользовательской локали.
Смотрите также number().
long QByteArray::toLong ( bool * ok = 0, int base = 10 ) const
Возвращает массив, преобразованный в значение типа long, используя систему исчисления по базе base, которая по умолчанию равна 10 и может быть любым числом от 2 до 36 или 0.
Если base равна 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x" - это шестнадцатеричное представление; если массив начинается с "0" - это восьмеричное представление числа; в остальных случаях это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
QByteArray str("FF");
bool ok;
long hex = str.toLong(&ok, 16);
long dec = str.toLong(&ok, 10);
Замечание: Конвертирование числа выполняется, по умолчанию, в локали Си, независимо от пользовательской локали.
Эта функция была введена в Qt 4.1.
Смотрите также number().
qlonglong QByteArray::toLongLong ( bool * ok = 0, int base = 10 ) const
Возвращает массив, преобразованный в значение типа long long, используя систему исчисления по базе base, которая по умолчанию равна 10 и может быть любым числом от 2 до 36 или 0.
Если base равна 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x" - это шестнадцатеричное представление; если массив начинается с "0" - это восьмеричное представление числа; в остальных случаях это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Замечание: Конвертирование числа выполняется, по умолчанию, в локали Си, независимо от пользовательской локали.
Смотрите также number().
QByteArray QByteArray::toLower () const
Возвращает копию массива с символами в нижнем регистре. Массив воспринимается как строка в кодировке Latin-1.
Пример:
QByteArray x("Qt by NOKIA");
QByteArray y = x.toLower();
Смотрите также toUpper() и Сравнении 8-битных символов.
QByteArray QByteArray::toPercentEncoding ( const QByteArray & exclude = QByteArray(), const QByteArray & include = QByteArray(), char percent = '%' ) const
Возвращает копию массива в процентном представлении в URI/URL-стиле. Параметр percent позволяет вам переопределить умалчиваемый символ '%' на другой символ.
По умолчанию эта функция перекодирует все символы, которые не входят в следующее множество:
ALPHA (от "a" до "z" и от "A" до "Z") / DIGIT (от 0 до 9) / "-" / "." / "_" / "~"
Чтобы предотвратить перекодировку символа, укажите его в аргументе exclude. Чтобы заставить перекодировать символ (из выше указанного множества), укажите его в аргументе include. Символ percent всегда перекодируется.
Пример:
QByteArray text = "{a fishy string?}";
QByteArray ba = text.toPercentEncoding("{}", "s");
qDebug(ba.constData());
Шестнадцатеричное кодирование использует цифры 0-9 и буквы A-F в верхнем регистре.
Эта функция была введена в Qt 4.4.
Смотрите также fromPercentEncoding() и QUrl::toPercentEncoding().
short QByteArray::toShort ( bool * ok = 0, int base = 10 ) const
Возвращает массив, преобразованный в значение типа short, используя систему исчисления по базе base, которая по умолчанию равна 10 и может быть любым числом от 2 до 36 или 0.
Если base равна 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x" - это шестнадцатеричное представление; если массив начинается с "0" - это восьмеричное представление числа; в остальных случаях это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Замечание: Конвертирование числа выполняется, по умолчанию, в локали Си, независимо от пользовательской локали.
Смотрите также number().
uint QByteArray::toUInt ( bool * ok = 0, int base = 10 ) const
Возвращает массив, преобразованный в значение типа unsigned int, используя систему исчисления по базе base, которая по умолчанию равна 10 и может быть любым числом от 2 до 36 или 0.
Если base равна 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x" - это шестнадцатеричное представление; если массив начинается с "0" - это восьмеричное представление числа; в остальных случаях это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Замечание: Конвертирование числа выполняется, по умолчанию, в локали Си, независимо от пользовательской локали.
Смотрите также number().
ulong QByteArray::toULong ( bool * ok = 0, int base = 10 ) const
Возвращает массив, преобразованный в значение типа unsigned long int, используя систему исчисления по базе base, которая по умолчанию равна 10 и может быть любым числом от 2 до 36 или 0.
Если base равна 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x" - это шестнадцатеричное представление; если массив начинается с "0" - это восьмеричное представление числа; в остальных случаях это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Замечание: Конвертирование числа выполняется, по умолчанию, в локали Си, независимо от пользовательской локали.
Эта функция была введена в Qt 4.1.
Смотрите также number().
qulonglong QByteArray::toULongLong ( bool * ok = 0, int base = 10 ) const
Возвращает массив, преобразованный в значение типа unsigned long long, используя систему исчисления по базе base, которая по умолчанию равна 10 и может быть любым числом от 2 до 36 или 0.
Если base равна 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x" - это шестнадцатеричное представление; если массив начинается с "0" - это восьмеричное представление числа; в остальных случаях это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Замечание: Конвертирование числа выполняется, по умолчанию, в локали Си, независимо от пользовательской локали.
Смотрите также number().
ushort QByteArray::toUShort ( bool * ok = 0, int base = 10 ) const
Возвращает массив, преобразованный в значение типа unsigned short, используя систему исчисления по базе base, которая по умолчанию равна 10 и может быть любым числом от 2 до 36 или 0.
Если base равна 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x" - это шестнадцатеричное представление; если массив начинается с "0" - это восьмеричное представление числа; в остальных случаях это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Замечание: Конвертирование числа выполняется, по умолчанию, в локали Си, независимо от пользовательской локали.
Смотрите также number().
QByteArray QByteArray::toUpper () const
Возвращает копию массива в верхнем регистре. Массив воспринимается как строка в кодировке Latin-1.
Пример:
QByteArray x("Qt by NOKIA");
QByteArray y = x.toUpper();
Смотрите также toLower() и Сравнении 8-битных символов.
QByteArray QByteArray::trimmed () const
Возвращает массив, у которого в начале и в конце удалены пробельные символы.
Символами-разделителями являются символы, для которых по стандарту C++ функция isspace() возвращает true. Они включают ASCII символы '\t', '\n', '\v', '\f', '\r' и ' '.
Пример:
QByteArray ba(" lots\t of\nwhitespace\r\n ");
ba = ba.trimmed();
В отличие от simplified(), trimmed() удаляет и одиночные символы-разделители.
Смотрите также simplified().
void QByteArray::truncate ( int pos )
Усекает байтовый массив в позиции с индексом pos.
Если pos выходит за пределы массива, ничего не происходит.
Пример:
QByteArray ba("Stockholm");
ba.truncate(5);
Смотрите также chop(), resize() и left().
QByteArray::operator const char * () const
Возвращает указатель на данные, хранящиеся массиве. Указатель можно использовать для доступа к байтам, которые составляют массив. Данные завершаются символом '\0'. Указатель остается действительным до тех пор, пока массив не будет перераспределен в памяти или разрушен.
Этот оператор в основном используется для передачи массива в функцию, которая принимает const char *.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_FROM_BYTEARRAY, перед компиляцией приложения.
Замечание: QByteArray может хранить любые значения байт, включая '\0', но большинство функций, которые принимают в качестве аргумента char * предполагают, что данные завершаются первым встретившимся '\0'.
Смотрите также constData().
QByteArray::operator const void * () const
Возвращает указатель на данные, хранящиеся массиве. Указатель можно использовать для доступа к байтам, которые составляют массив. Данные завершаются символом '\0'. Указатель остается действительным до тех пор, пока массив не будет перераспределен в памяти или разрушен.
Этот оператор в основном используется для передачи массива в функцию, которая принимает const char *.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_FROM_BYTEARRAY, перед компиляцией приложения.
Замечание: QByteArray может хранить любые значения байт, включая '\0', но большинство функций, которые принимают в качестве аргумента char * предполагают, что данные завершаются первым встретившимся '\0'.
Смотрите также constData().
bool QByteArray::operator!= ( const QString & str ) const
Возвращает true, если этот байтовый массив не равен строке str; в противном случае возвращает false.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Сравнение чувствительно к регистру.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вам нужно явно вызывать QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8() или QString::fromLocal8Bit(), если вы хотите преобразовать байтовый массив в QString перед тем, как выполнить сравнение.
QByteArray & QByteArray::operator+= ( const QByteArray & ba )
Добавляет байтовый массив ba в конец этого байтового массива и возвращает ссылку на этот байтовый массив.
Пример:
QByteArray x("free");
QByteArray y("dom");
x += y;
Обычно, это очень быстрая операция (занимающая фиксированное время (constant time)), потому что QByteArray резервирует в памяти дополнительное место после данных, чтобы иметь возможность не переаспределять память каждый раз, когда требуется увеличить массив.
Смотрите также append() и prepend().
QByteArray & QByteArray::operator+= ( const QString & str )
Это перегруженная функция.
Добавляет строку str в конец этого байтового массива и возвращает ссылку на этот байтовый массив. Данные в кодировке Unicode конвертируются в 8-битные символы с помощью QString::toAscii().
Если в QString содержатся не ASCII символы в кодировке Unicode, использование этого оператора может привести к потере информации. Вы можете запретить использование этого оператора, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией вашего приложения Теперь вы должны будете вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()), если вам нужно конвертировать данные в const char *.
QByteArray & QByteArray::operator+= ( const char * str )
Это перегруженная функция.
Добавляет строку str в конец этого байтового массива и возвращает ссылку на этот байтовый массив.
QByteArray & QByteArray::operator+= ( char ch )
Это перегруженная функция.
Добавляет символ ch в конец этого байтового массива и возвращает ссылку на этот массив.
bool QByteArray::operator< ( const QString & str ) const
Возвращает true, если этот байтовый массив лексически короче, чем строка str; в противном случае возвращает false.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Сравнение чувствительно к регистру.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вам нужно явно вызывать QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8() или QString::fromLocal8Bit(), если вы хотите преобразовать байтовый массив в QString перед тем, как выполнить сравнение.
bool QByteArray::operator<= ( const QString & str ) const
Возвращает true, если байтовый массив лексически меньше или равен строке str; в противном случае возвращает false.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Сравнение чувствительно к регистру.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вам нужно явно вызывать QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8() или QString::fromLocal8Bit(), если вы хотите преобразовать байтовый массив в QString перед тем, как выполнить сравнение.
QByteArray & QByteArray::operator= ( const QByteArray & other )
Присваивает other этому байтовому массиву и возвращает ссылку на этот байтовый массив.
QByteArray & QByteArray::operator= ( const char * str )
Это перегруженная функция.
Присваивает str этому байтовому массиву.
bool QByteArray::operator== ( const QString & str ) const
Возвращает true, если этот байтовый массив равен строке str; в противном случае возвращает false.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Сравнение чувствительно к регистру.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вам нужно явно вызывать QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8() или QString::fromLocal8Bit(), если вы хотите преобразовать байтовый массив в QString перед тем, как выполнить сравнение.
bool QByteArray::operator> ( const QString & str ) const
Возвращает true, если этот байтовый массив лексически больше, чем строка str; в противном случае возвращает false.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Сравнение чувствительно к регистру.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вам нужно явно вызывать QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8() или QString::fromLocal8Bit(), если вы хотите преобразовать байтовый массив в QString перед тем, как выполнить сравнение.
bool QByteArray::operator>= ( const QString & str ) const
Возвращает true, если байтовый массив больше или равен строке str; в противном случае возвращает false.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Сравнение чувствительно к регистру.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вам нужно явно вызывать QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8() или QString::fromLocal8Bit(), если вы хотите преобразовать байтовый массив в QString перед тем, как выполнить сравнение.
QByteRef QByteArray::operator[] ( int i )
Возвращает байт из позиции с индексом i, доступный для изменения.
Если присваивание производится за пределами байтового массива, перед присваиванием массив будет удлинен с помощью resize().
Пример:
QByteArray ba;
for (int i = 0; i < 10; ++i)
ba[i] = 'A' + i;
Возвращаемое значение имеет тип QByteRef, это вспомогательный класс QByteArray. Когда вы получаете объект типа QByteRef, вы можете использовать его, как если бы он был char &. Если вы присваиваете ему, то присваивание будет применяться к символу в QByteArray на который вы получили ссылку.
Смотрите также at().
char QByteArray::operator[] ( int i ) const
Это перегруженная функция.
Тоже самое, что и at(i).
QByteRef QByteArray::operator[] ( uint i )
Это перегруженная функция.
char QByteArray::operator[] ( uint i ) const
Это перегруженная функция.
Связанные нечлены класса
quint16 qChecksum ( const char * data, uint len )
Возвращает контрольную сумму CRC-16 для первых len байт из data.
Контрольная сумма не зависит от порядка байтов (endianness).
Замечание: Эта функция является реализацией алгоритма быстрого (табличного) расчёта CRC-16-CCITT.
QByteArray qCompress ( const QByteArray & data, int compressionLevel = -1 )
Упаковывает байтовый массив data и возвращает упакованные данные в виде нового байтового массива.
Параметр compressionLevel определяет, какая степень сжатия должна использоваться. Допустимые значения от 0 до 9, 9 соответствует максимальному сжатию (т.е. минимальный размер сжатых данных) за счет использования более медленного алгоритма. Меньшие значения (8, 7, ..., 1) обеспечивают, соответственно, меньшее сжатие за чуть меньшее время. Значение 0 отменяет сжатие совсем. Значение по умолчанию равно -1, что указывает библиотеке zlib сжатие по умолчанию.
Смотрите также qUncompress().
QByteArray qCompress ( const uchar * data, int nbytes, int compressionLevel = -1 )
Это перегруженная функция.
Упаковывает первые nbytes из data и возвращает упакованные данные в виде нового массива.
QByteArray qUncompress ( const QByteArray & data )
Распаковывает байтовый массив data и возвращает новый байтовый массив с распакованными данными.
Возвращает пустой (empty) QByteArray, если входные данные испорчены.
Эта функция распакует данные, сжатые с помощью qCompress() из этой и любой предыдущей версии Qt, начиная с Qt 3.1, когда эта возможность была введена.
Замечание: Если вы хотите использовать эту функцию, чтобы распаковывать внешние данные, сжатые с помощью библиотеки zlib, вы сначала должны добавить спереди четыре байта к массиву, которые будут хранить ожидаемый размер (в виде числа без знака) распакованных данных, записанных в обратном порядке (старший байт первый).
Смотрите также qCompress().
QByteArray qUncompress ( const uchar * data, int nbytes )
Это перегруженная функция.
Распаковывает первые nbytes из data и возвращает новый массив с распакованными данными.
int qsnprintf ( char * str, size_t n, const char * fmt, ... )
Портированная функция snprintf(), вызывает qvsnprintf.
fmt - это строка форматирования printf(). Результат помещается в str, который является буфером по крайней мере из n байт.
Предупреждение: Вызывайте эту функцию только тогда, когда вы знаете, что вы делаете, так как она по-разному работает на различных платформах. Взамен используйте QString::sprintf() для формирования строки по формату.
Смотрите также qvsnprintf() и QString::sprintf().
int qstrcmp ( const char * str1, const char * str2 )
Безопасная функция strcmp().
Сравнивает str1 и str2. Возвращает отрицательное значение, если str1 меньше, чем str2, 0, если str1 эквивалентна str2 или положительное значение, если str1 больше, чем str2.
Особый случай 1: Возвращает 0, если str1 и str2 обе 0.
Особый случай 2: Возвращает случайное ненулевое значение, если str1 равна 0 или str2 равна 0 (но не обе).
Смотрите также qstrcmp(), qstricmp(), qstrnicmp() и Сравнение 8-битных символов.
char * qstrcpy ( char * dst, const char * src )
Копирует все символы, включая '\0', из src в dst и возвращает указатель на dst. Если src равна 0, немедленно возвращается 0.
Эта функция предполагает, что dst достаточно большая, чтобы в нее поместились все данные из src.
Смотрите также qstrncpy().
char * qstrdup ( const char * src )
Возвращает дубликат строки.
Выделяет память для копии src, копирует её и возвращает указатель на копию. Если src равен 0, то сразу же возвращается 0.
Владельцем становится вызывающий, поэтому возвращаемая строка должна быть удалена с помощью delete[].
int qstricmp ( const char * str1, const char * str2 )
Безопасная функция stricmp().
Сравнивает str1 и str2 игнорируя регистр символов. Предполагается, что строка в кодировке Latin-1.
Возвращает отрицательное значение, если str1 меньше, чем str2, 0, если str1 равна str2 или положительное значение, если str1 больше, чем str2.
Особый случай 1: Возвращает 0, если str1 и str2 обе 0.
Особый случай 2: Возвращает случайное ненулевое значение, если str1 равна 0 или str2 равна 0 (но не обе).
Смотрите также qstrcmp(), qstrncmp(), qstrnicmp() и Сравнение 8-битных символов.
uint qstrlen ( const char * str )
Безопасная функция strlen().
Возвращает количество символов, которое предшествует символу '\0', или 0, если str равна 0.
Смотрите также qstrnlen().
int qstrncmp ( const char * str1, const char * str2, uint len )
Безопасная функция strncmp().
Сравнивает не больше, чем len байт в str1 и str2.
Возвращает отрицательное значение, если str1 меньше, чем str2, 0, если str1 равна str2 или положительное значение, если str1 больше, чем str2.
Особый случай 1: Возвращает 0, если str1 и str2 обе 0.
Особый случай 2: Возвращает случайное ненулевое значение, если str1 равна 0 или str2 равна 0 (но не обе).
Смотрите также qstrcmp(), qstricmp(), qstrnicmp() и Сравнение 8-битных символов.
char * qstrncpy ( char * dst, const char * src, uint len )
Безопасная функция strncpy().
Копирует не больше чем len байт из src (останавливается на len или на конечном '\0', в зависимости от того, что встретится первым) в dst и возвращает указатель на dst. Гарантирует, что dst заканчивается '\0'. Если src или dst равны 0, немедленно возвращается 0.
Эта функция подразумевает, что dst по меньшей мере длиной в len символов.
Смотрите также qstrcpy().
int qstrnicmp ( const char * str1, const char * str2, uint len )
Безопасная функция strnicmp().
Сравнивает не больше len байт str1 и str2, игнорируя регистр символов. Предполагается, что строка в кодировке Latin-1.
Возвращает отрицательное значение, если str1 меньше, чем str2, 0, если str1 равна str2 или положительное значение, если str1 больше, чем str2.
Особый случай 1: Возвращает 0, если str1 и str2 обе 0.
Особый случай 2: Возвращает случайное ненулевое значение, если str1 равна 0 или str2 равна 0 (но не обе).
Смотрите также qstrcmp(), qstrncmp(), qstrnicmp() и Сравнение 8-битных символов.
uint qstrnlen ( const char * str, uint maxlen )
Безопаснся функция strnlen().
Возвращает количество символов, которое предшествует символу '\0', но не более maxlen. Если str равна 0, возвращается 0.
Эта функция была введена в Qt 4.2.
Смотрите также qstrlen().
int qvsnprintf ( char * str, size_t n, const char * fmt, va_list ap )
Портированная функция vsnprintf(). Будет вызвана функция ::vsnprintf(), ::_vsnprintf() или ::vsnprintf_s, в зависимости от системы или переход к внутренней версии.
fmt - это строка форматирования printf(). Результат помещается в str, который является буфером по крайней мере из n байт.
Вызывающий ответственен за вызов функции va_end() у ap.
Предупреждение: Поскольку vsnprintf() по-разному работает на разных платформах, то вы не должны полагаться на возвращаемое значение или на то, что всегда будете получать строки с завершающим 0.
В идеале, вы никогда не должны вызывать эту функцию, а использовать вместо неё QString::sprintf().
Смотрите такжеqsnprintf() и QString::sprintf().
bool operator!= ( const QByteArray & a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает true, если байтовый массив a1 не равен байтовому массиву a2; в противном случае возвращает false.
bool operator!= ( const QByteArray & a1, const char * a2 )
Это перегруженная функция.
Возвращает true, если байтовый массив a1 не равен строке a2; в противном случае возвращает false.
bool operator!= ( const char * a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает true, если строка a1 не равна байтовому массиву a2; в противном случае возвращает false.
const QByteArray operator+ ( const char * a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает байтовый массив, который является результатом конкатенации строки a1 и байтового массива a2.
const QByteArray operator+ ( char a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает байтовый массив, который является результатом конкатенации символа a1 и байтового массива a2.
const QByteArray operator+ ( const QByteArray & a1, const QByteArray & a2 )
Возвращает байтовый массив, который является результатом конкатенации байтового массива a1 и байтового массива a2.
Смотрите также QByteArray::operator+=().
const QByteArray operator+ ( const QByteArray & a1, const char * a2 )
Это перегруженная функция.
Возвращает байтовый массив, который является результатом конкатенации байтового массива a1 и строки a2.
const QByteArray operator+ ( const QByteArray & a1, char a2 )
Это перегруженная функция.
Возвращает байтовый массив, который является результатом конкатенации байтового массива a1 и символа a2.
bool operator< ( const QByteArray & a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает true, если байтовый массив a1 лексически меньше, чем байтовый массив a2; в противном случае возвращает false.
bool operator< ( const QByteArray & a1, const char * a2 )
Это перегруженная функция.
Возвращает true, если байтовый массив a1 лексически меньше, чем строка a2; в противном случае возвращает false.
bool operator< ( const char * a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает true, если строка a1 лексически меньше, чем байтовый массив a2; в противном случае возвращает false.
QDataStream & operator<< ( QDataStream & out, const QByteArray & ba )
Записывает байтовый массив ba в поток out и возвращает ссылку на поток.
Смотрите также Формат операторов QDataStream.
bool operator<= ( const QByteArray & a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает true, если байтовый массив a1 лексически меньше или равен, байтовому массиву a2; в противном случае возвращает false.
bool operator<= ( const QByteArray & a1, const char * a2 )
Это перегруженная функция.
Возвращает true, если байтовый массив a1 лексически меньше или равен строке a2; в противном случае возвращает false.
bool operator<= ( const char * a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает true, если строка a1 лексически меньше или равна байтовому массиву a2; в противном случае возвращает false.
bool operator== ( const QByteArray & a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает true, если байтовый массив a1 равен байтовому массиву a2; в противном случае возвращает false.
bool operator== ( const QByteArray & a1, const char * a2 )
Это перегруженная функция.
Возвращает true, если байтовый массив a1 равен строке a2; в противном случае возвращает false.
bool operator== ( const char * a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает true, если строка a1 равна байтовому массиву a2; в противном случае возвращает false.
bool operator> ( const QByteArray & a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает true, если байтовый массив a1 лексически больше, чем байтовый массив a2; в противном случае возвращает false.
bool operator> ( const QByteArray & a1, const char * a2 )
Это перегруженная функция.
Возвращает true, если байтовый массив a1 лексически больше, чем строка a2; в противном случае возвращает false.
bool operator> ( const char * a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает true, если строка a1 лексически больше, чем байтовый массив a2; в противном случае возвращает false.
bool operator>= ( const QByteArray & a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает true, если байтовый массив a1 лексически больше или равен, байтовому массиву a2; в противном случае возвращает false.
bool operator>= ( const QByteArray & a1, const char * a2 )
Это перегруженная функция.
Возвращает true, если байтовый массив a1 лексически больше или равен строке a2; в противном случае возвращает false.
bool operator>= ( const char * a1, const QByteArray & a2 )
Это перегруженная функция.
Возвращает true, если строка a1 лексически больше или равна байтовому массиву a2; в противном случае возвращает false.
Читает байтовый массив в ba из потока in и возвращает ссылку на поток.
Смотрите также Формат операторов QDataStream.
Описание макросов
QT_NO_CAST_FROM_BYTEARRAY
Отключает автоматическое преобразование из QByteArray в const char * or const void *.
Смотрите также QT_NO_CAST_TO_ASCII и QT_NO_CAST_FROM_ASCII.
Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies) |
Торговые марки |
Qt 4.5.3 |
|