En esta página

QByteArrayView Class

La clase QByteArrayView proporciona una vista de una matriz de bytes con un subconjunto de sólo lectura de la API QByteArray. Más...

Cabecera: #include <QByteArrayView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Desde: Qt 6.0

Esta clase es fuertemente comparable.

Esta clase es fuertemente comparable con QString, QStringView, QUtf8StringView, QLatin1StringView, QChar, y char16_t.

Cuando se compara con tipos de caracteres string y Unicode, el contenido se interpreta como UTF-8.

Nota: Todas las funciones de esta clase son reentrantes.

Tipos públicos

Funciones Públicas

QByteArrayView()
(since 6.9) QByteArrayView(const Byte (&)[] data)
QByteArrayView(const Byte *data)
QByteArrayView(const Container &c)
QByteArrayView(const QByteArray &byteArray)
QByteArrayView(const char (&)[Size] data)
QByteArrayView(std::nullptr_t)
QByteArrayView(const Byte *first, const Byte *last)
QByteArrayView(const Byte *data, qsizetype len)
char at(qsizetype n) const
char back() const
QByteArrayView::const_iterator begin() const
QByteArrayView::const_iterator cbegin() const
QByteArrayView::const_iterator cend() const
void chop(qsizetype length)
QByteArrayView chopped(qsizetype length) const
(since 6.2) int compare(QByteArrayView bv, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QByteArrayView::const_pointer constData() const
bool contains(QByteArrayView bv) const
bool contains(char ch) const
qsizetype count(QByteArrayView bv) const
qsizetype count(char ch) const
QByteArrayView::const_reverse_iterator crbegin() const
QByteArrayView::const_reverse_iterator crend() const
QByteArrayView::const_pointer data() const
bool empty() const
QByteArrayView::const_iterator end() const
bool endsWith(QByteArrayView bv) const
bool endsWith(char ch) const
QByteArrayView first(qsizetype n) const
char front() const
qsizetype indexOf(QByteArrayView bv, qsizetype from = 0) const
qsizetype indexOf(char ch, qsizetype from = 0) const
bool isEmpty() const
bool isNull() const
(since 6.3) bool isValidUtf8() const
QByteArrayView last(qsizetype n) const
qsizetype lastIndexOf(QByteArrayView bv, qsizetype from) const
qsizetype lastIndexOf(char ch, qsizetype from = -1) const
(since 6.2) qsizetype lastIndexOf(QByteArrayView bv) const
qsizetype length() const
(since 6.8) qsizetype max_size() const
QByteArrayView::const_reverse_iterator rbegin() const
QByteArrayView::const_reverse_iterator rend() const
qsizetype size() const
(since 6.8) QByteArrayView &slice(qsizetype pos, qsizetype n)
(since 6.8) QByteArrayView &slice(qsizetype pos)
QByteArrayView sliced(qsizetype pos) const
QByteArrayView sliced(qsizetype pos, qsizetype n) const
bool startsWith(QByteArrayView bv) const
bool startsWith(char ch) const
QByteArray toByteArray() const
(since 6.3) double toDouble(bool *ok = nullptr) const
(since 6.3) float toFloat(bool *ok = nullptr) const
(since 6.3) int toInt(bool *ok = nullptr, int base = 10) const
(since 6.3) long toLong(bool *ok = nullptr, int base = 10) const
(since 6.3) qlonglong toLongLong(bool *ok = nullptr, int base = 10) const
(since 6.3) short toShort(bool *ok = nullptr, int base = 10) const
(since 6.3) uint toUInt(bool *ok = nullptr, int base = 10) const
(since 6.3) ulong toULong(bool *ok = nullptr, int base = 10) const
(since 6.3) qulonglong toULongLong(bool *ok = nullptr, int base = 10) const
(since 6.3) ushort toUShort(bool *ok = nullptr, int base = 10) const
(since 6.3) QByteArrayView trimmed() const
void truncate(qsizetype length)
(since 6.7) operator std::string_view() const
char operator[](qsizetype n) const

Miembros públicos estáticos

QByteArrayView fromArray(const Byte (&)[Size] data)
(since 6.8) qsizetype maxSize()
bool operator!=(const QByteArrayView &lhs, const QByteArrayView &rhs)
bool operator<(const QByteArrayView &lhs, const QByteArrayView &rhs)
bool operator<=(const QByteArrayView &lhs, const QByteArrayView &rhs)
bool operator==(const QByteArrayView &lhs, const QByteArrayView &rhs)
bool operator>(const QByteArrayView &lhs, const QByteArrayView &rhs)
bool operator>=(const QByteArrayView &lhs, const QByteArrayView &rhs)

Descripción Detallada

Un QByteArrayView hace referencia a una porción contigua de bytes brutos que no posee. Actúa como un tipo de interfaz para todo tipo de datos tipo matriz de bytes, sin necesidad de construir primero un QByteArray.

Los datos de la matriz de bytes pueden representarse como una matriz (o una estructura de datos compatible con matrices como QByteArray, std::basic_string, etc.) de char, signed char, unsigned char o std::byte.

QByteArrayView está diseñado como un tipo de interfaz; su principal caso de uso es como tipo de parámetro de función. Cuando se usan QByteArrayViews como variables automáticas o miembros de datos, hay que tener cuidado para asegurarse de que los datos referenciados (por ejemplo, propiedad de un QByteArray) sobreviven al QByteArrayView en todas las rutas de código, no sea que la vista de matriz de bytes acabe referenciando datos borrados.

Cuando se utiliza como un tipo de interfaz, QByteArrayView permite que una única función acepte una amplia variedad de fuentes de datos similares a matrices de bytes. Una función que acepte QByteArrayView sustituye así a varias sobrecargas de funciones (tomando, por ejemplo, QByteArray, const char *, etc.) al tiempo que permite pasar a la función aún más fuentes de datos tipo matriz de bytes.

QByteArrayView debe pasarse por valor, no por referencia a const:

    void myfun1(QByteArrayView bv);        // preferred
    void myfun2(const QByteArrayView &bv); // compiles and works, but slower

Si quiere dar a sus usuarios la máxima libertad en cuanto al tipo de datos que pueden pasar a su función, acompañe la sobrecarga QByteArrayView con sobrecargas para

  • char: esta sobrecarga puede delegar en la versión QByteArrayView:
        void fun(QByteArrayView bv);
        void fun(char ch) { fun(QByteArrayView(&ch, 1)); }

    aunque, por razones técnicas, QByteArrayView no puede proporcionar un constructor char por sí mismo.

  • QByteArray: si almacena una copia no modificada de la matriz de bytes y desea aprovechar las ventajas de la compartición implícita de QByteArray.

QByteArrayView también se puede utilizar como el valor de retorno de una función. Si llamas a una función que devuelve QByteArrayView, ten especial cuidado de no mantener el QByteArrayView más tiempo del que la función promete para mantener vivos los datos referenciados. En caso de duda, obtenga una referencia fuerte a los datos llamando a toByteArray() para convertir el QByteArrayView en un QByteArray.

Los métodos soportados por QByteArrayView reflejan los de QByteArray. En particular, en el grado limitado en que atribuye semántica (como mayúsculas y minúsculas, espaciado, dígitos de números) a los datos de caracteres visualizados, utiliza la configuración regional de C y la codificación ASCII. Consulte C locale and ASCII functions para obtener más información y conocer las limitaciones de estos métodos.

Tipos de bytes compatibles

QByteArrayView se puede construir sobre cualquier contenedor de bytes, donde el tipo byte es uno de los siguientes:

  • char (tanto con signo como sin signo)
  • std::byte

Véase también QByteArray y QStringView.

Documentación de tipos de miembros

QByteArrayView::const_iterator

Este typedef proporciona un iterador const de estilo STL para QByteArrayView.

Véase también iterator y const_reverse_iterator.

QByteArrayView::const_pointer

Alias para value_type *. Se proporciona por compatibilidad con la STL.

QByteArrayView::const_reference

Alias para value_type &. Se proporciona por compatibilidad con la STL.

QByteArrayView::const_reverse_iterator

Este typedef proporciona un iterador inverso const al estilo STL para QByteArrayView.

Véase también reverse_iterator y const_iterator.

QByteArrayView::difference_type

Alias para std::ptrdiff_t. Se proporciona por compatibilidad con la STL.

QByteArrayView::iterator

Este typedef proporciona un iterador const de estilo STL para QByteArrayView.

QByteArrayView no soporta iteradores mutables, por lo que es lo mismo que const_iterator.

Véase también const_iterator y reverse_iterator.

QByteArrayView::pointer

Alias para value_type *. Se proporciona por compatibilidad con la STL.

QByteArrayView no admite punteros mutables, por lo que es igual que const_pointer.

QByteArrayView::reference

Alias para value_type &. Se proporciona por compatibilidad con la STL.

QByteArrayView no admite referencias mutables, por lo que es igual que const_reference.

QByteArrayView::reverse_iterator

Este typedef proporciona un iterador inverso const de estilo STL para QByteArrayView.

QByteArrayView no soporta iteradores inversos mutables, por lo que es lo mismo que const_reverse_iterator.

Véase también const_reverse_iterator y iterator.

QByteArrayView::size_type

Alias para qsizetype. Se proporciona por compatibilidad con la STL.

QByteArrayView::storage_type

Alias para char.

QByteArrayView::value_type

Alias para const char. Se proporciona por compatibilidad con la STL.

Documentación de funciones miembro

[constexpr noexcept] QByteArrayView::QByteArrayView()

Construye una vista de matriz de bytes nula.

Véase también isNull().

[constexpr noexcept, since 6.9] template <typename Byte, QByteArrayView::if_compatible_byte<Byte> = true> QByteArrayView::QByteArrayView(const Byte (&)[] data)

Construye una vista de matriz de bytes en data, una matriz de tamaño desconocido. La longitud se determina buscando el primer Byte(0).

data debe permanecer válida durante el tiempo de vida de este objeto byte array view.

Restricciones

Participa en la resolución de sobrecargas sólo si Byte es un tipo de byte compatible.

Esta función se introdujo en Qt 6.9.

Véase también Compatible Byte Types.

[constexpr noexcept] template <typename Byte> QByteArrayView::QByteArrayView(const Byte *data)

Construye una vista de matriz de bytes en data. La longitud se determina buscando la primera Byte(0).

data debe permanecer válida durante el tiempo de vida de este objeto byte array view.

Pasar nullptr como data es seguro y da como resultado una vista de matriz de bytes nula.

Restricciones

Participa en la resolución de sobrecargas sólo si data no es una matriz y Byte es un tipo de byte compatible.

Véase también Compatible Byte Types.

[constexpr noexcept] template <typename Container, QByteArrayView::if_compatible_container<Container> = true> QByteArrayView::QByteArrayView(const Container &c)

Construye una vista de matriz de bytes en el contenedor tipo array c. La longitud y los datos se establecen a través de std::size(c) y std::data(c) respectivamente.

Los datos del contenedor deben permanecer válidos durante el tiempo de vida de este objeto byte array view.

Restricciones

Participa en la resolución de sobrecargas sólo si c es cualquier contenedor contiguo con elementos de un tipo byte compatible.

Véase también Compatible Byte Types.

[noexcept] QByteArrayView::QByteArrayView(const QByteArray &byteArray)

Construye una vista de matriz de bytes en byteArray.

byteArray.data() debe permanecer válida durante el tiempo de vida de este objeto byte array view.

La vista de matriz de bytes será nula si y sólo si byteArray.isNull().

[constexpr noexcept] template <size_t Size> QByteArrayView::QByteArrayView(const char (&)[Size] data)

Construye una vista de matriz de bytes en la matriz de caracteres data. La vista cubre el array hasta que se encuentra el primer '\0', o Size, lo que ocurra primero. Si necesita el array completo, utilice fromArray() en su lugar.

data debe permanecer válido durante el tiempo de vida de este objeto vista de matriz de bytes.

Nota: Este constructor sólo está disponible para arrays literales char. El motivo es la compatibilidad con las bibliotecas C que predefinen matrices "suficientemente grandes", pero sólo utilizan parte del espacio preasignado. Para soportar esto de forma intuitiva en una sobrecarga implícita del constructor, necesitamos detenernos en el primer char(0). Esto es lógico para un array char, pero no para un array std::byte. Es, sin embargo, inconsistente con los correspondientes constructores de puntero (Byte*) y de array de longitud desconocida (Byte[]), por lo que podría cambiar en una futura versión de Qt.

Véase también fromArray.

[constexpr noexcept] QByteArrayView::QByteArrayView(std::nullptr_t)

Construye una vista de matriz de bytes nula.

Véase también isNull().

[constexpr] template <typename Byte, QByteArrayView::if_compatible_byte<Byte> = true> QByteArrayView::QByteArrayView(const Byte *first, const Byte *last)

Construye una vista de matriz de bytes en first con longitud (last - first).

El rango [first,last) debe permanecer válido durante la vida de este QByteArrayView.

Pasar \nullptr como first es seguro si last es nullptr, también, y da como resultado una vista de matriz de bytes nula.

El comportamiento es indefinido si last precede a first, o first es nullptr y last no lo es.

Restricciones

Participa en la resolución de sobrecargas sólo si Byte es un tipo de byte compatible.

Véase también Compatible Byte Types.

[constexpr] template <typename Byte, QByteArrayView::if_compatible_byte<Byte> = true> QByteArrayView::QByteArrayView(const Byte *data, qsizetype len)

Construye una vista de matriz de bytes en data con la longitud len.

El rango [data,len) debe permanecer válido durante la vida de este QByteArrayView.

Pasar nullptr como data es seguro si len también es 0, y da como resultado una vista de matriz de bytes nula.

El comportamiento es indefinido si len es negativo o, cuando es positivo, si data es nullptr.

Restricciones

Participa en la resolución de sobrecargas sólo si Byte es un tipo de byte compatible.

Véase también Compatible Byte Types.

[constexpr] char QByteArrayView::at(qsizetype n) const

Devuelve el carácter en la posición n en esta vista de matriz de bytes.

El comportamiento es indefinido si n es negativo o no menor que size().

Véase también operator[](), front() y back().

[constexpr] char QByteArrayView::back() const

Devuelve el último byte de la vista de matriz de bytes.

Esta función se proporciona por compatibilidad con STL.

Advertencia: Llamar a esta función en una vista de matriz de bytes vacía constituye un comportamiento indefinido.

Véase también front().

[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::begin() const

Devuelve un iterador constante de estilo STL que apunta al primer byte de la vista de matriz de bytes.

Esta función se proporciona por compatibilidad con STL.

Véase también end(), cbegin(), rbegin() y data().

[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::cbegin() const

Igual que begin().

Esta función se proporciona por compatibilidad con STL.

Véase también cend(), begin(), crbegin() y data().

[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::cend() const

Igual que end().

Esta función se proporciona por compatibilidad con STL.

Véase también cbegin(), end() y crend().

[constexpr] void QByteArrayView::chop(qsizetype length)

Trunca esta vista de matriz de bytes en length caracteres.

Igual que *this = first(size() - length).

Nota: El comportamiento es indefinido cuando length < 0 o length > size().

Véase también sliced(), first(), last(), chopped(), truncate() y slice().

[constexpr] QByteArrayView QByteArrayView::chopped(qsizetype length) const

Devuelve una copia de esta vista de matriz de bytes que omite sus últimos length bytes. En otras palabras, devuelve una vista de matriz de bytes de longitud size() - length empezando por el principio de este objeto.

Igual que first(size() - length).

Nota: El comportamiento es indefinido cuando length < 0 o length > size().

Véase también first(), last(), sliced(), chop(), truncate(), y slice().

[noexcept, since 6.2] int QByteArrayView::compare(QByteArrayView bv, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

Devuelve un entero menor, igual o mayor que cero dependiendo de si este QByteArrayView ordena antes, en la misma posición o después que el QByteArrayView bv . La comparación se realiza teniendo en cuenta mayúsculas y minúsculas cs.

Esta función se introdujo en Qt 6.2.

Véase también operator==().

[constexpr noexcept] QByteArrayView::const_pointer QByteArrayView::constData() const

Devuelve un puntero const char al primer byte de la vista de matriz de bytes.

Nota: No se garantiza que la matriz de caracteres representada por el valor devuelto esté terminada en cero. El puntero devuelto sólo es seguro para acceder a bytes en índices que sean menores que la vista de matriz de bytes size().

Véase también data(), begin() y end().

[noexcept] bool QByteArrayView::contains(QByteArrayView bv) const

[noexcept] bool QByteArrayView::contains(char ch) const

Devuelve true si esta vista de matriz de bytes contiene una ocurrencia de la secuencia de bytes vista por bv o el carácter ch, respectivamente; en caso contrario devuelve false.

Véase también indexOf() y lastIndexOf().

[noexcept] qsizetype QByteArrayView::count(QByteArrayView bv) const

Devuelve el número de ocurrencias (potencialmente solapadas) de la secuencia de bytes visualizada por bv en esta vista de matriz de bytes.

Véase también contains() y indexOf().

[noexcept] qsizetype QByteArrayView::count(char ch) const

Devuelve el número de apariciones del byte ch en esta vista de matriz de bytes.

Se trata de una función sobrecargada.

Véase también contains() y indexOf().

[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::crbegin() const

Igual que rbegin().

Esta función se proporciona por compatibilidad con STL.

Véase también crend(), rbegin() y cbegin().

[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::crend() const

Igual que rend().

Esta función se proporciona por compatibilidad con STL.

Véase también crbegin(), rend() y cend().

[constexpr noexcept] QByteArrayView::const_pointer QByteArrayView::data() const

Devuelve un puntero const char al primer byte de la vista de matriz de bytes.

Nota: No se garantiza que la matriz de caracteres representada por el valor devuelto esté terminada en cero. El puntero devuelto sólo es seguro para acceder a bytes en índices que sean menores que size() de esta vista de matriz de bytes.

Véase también begin() y end().

[constexpr noexcept] bool QByteArrayView::empty() const

Devuelve true si esta vista de matriz de bytes está vacía - es decir, size() == 0.

Esta función se proporciona por compatibilidad con STL.

Véase también isEmpty(), isNull(), y size().

[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::end() const

Devuelve un iterador constante de estilo STL que apunta justo después del último byte en la vista de matriz de bytes.

Esta función se proporciona por compatibilidad con STL.

Véase también begin(), cend(), y rend().

[noexcept] bool QByteArrayView::endsWith(QByteArrayView bv) const

[constexpr noexcept] bool QByteArrayView::endsWith(char ch) const

Devuelve true si esta vista de matriz de bytes termina con la vista de matriz de bytes bv o el carácter ch, respectivamente; en caso contrario devuelve false.

Véase también startsWith().

[constexpr] QByteArrayView QByteArrayView::first(qsizetype n) const

Devuelve una vista de matriz de bytes que apunta a los primeros n bytes de esta vista de matriz de bytes. Equivale a sliced(0, n).

Nota: El comportamiento es indefinido cuando n < 0 o n > size().

Véase también last(), startsWith(), chopped(), chop(), truncate(), sliced(), y slice().

[static constexpr noexcept] template <typename Byte, size_t Size> QByteArrayView QByteArrayView::fromArray(const Byte (&)[Size] data)

Construye una vista de matriz de bytes en la matriz literal data. La vista cubre el array completo. Esto incluye el terminador nulo final de los literales de matriz char. Si no desea incluir el terminador nulo en la vista, puede eliminarlo en chop() cuando esté seguro de que se encuentra al final. Alternativamente, puede utilizar la sobrecarga del constructor tomando un literal de matriz char que creará una vista hasta, pero sin incluir, el primer terminador nulo de los datos.

Esta función funcionará con cualquier literal de matriz de tipo byte compatible.

Véase también Compatible Byte Types y QByteArrayView.

[constexpr] char QByteArrayView::front() const

Devuelve el primer byte de la vista de matriz de bytes.

Esta función se proporciona por compatibilidad con STL.

Advertencia: Llamar a esta función en una vista de matriz de bytes vacía constituye un comportamiento indefinido.

Véase también back().

[noexcept] qsizetype QByteArrayView::indexOf(QByteArrayView bv, qsizetype from = 0) const

[noexcept] qsizetype QByteArrayView::indexOf(char ch, qsizetype from = 0) const

Devuelve la posición del índice del inicio de la primera ocurrencia de la secuencia de bytes vista por bv o la primera ocurrencia del byte ch, respectivamente, en esta vista de matriz de bytes, buscando hacia adelante desde la posición del índice from.Returns -1 si no se encuentra ninguna coincidencia.

Si from es -1, la búsqueda comienza en el último carácter; si es -2, en el penúltimo carácter y así sucesivamente.

Véase también lastIndexOf() y contains().

[constexpr noexcept] bool QByteArrayView::isEmpty() const

Devuelve true si esta vista de matriz de bytes está vacía - es decir, size() == 0.

Véase también empty(), isNull(), y size().

[constexpr noexcept] bool QByteArrayView::isNull() const

Devuelve true si esta vista de matriz de bytes es nula - es decir, data() == nullptr.

Véase también empty(), isEmpty(), y size().

[noexcept, since 6.3] bool QByteArrayView::isValidUtf8() const

Devuelve true si esta vista de matriz de bytes contiene datos codificados en UTF-8 válidos, o false en caso contrario.

Esta función se introdujo en Qt 6.3.

[constexpr] QByteArrayView QByteArrayView::last(qsizetype n) const

Devuelve una vista de matriz de bytes que apunta a los últimos n bytes de esta vista de matriz de bytes.

Nota: El comportamiento es indefinido cuando n < 0 o n > size().

Véase también first(), endsWith(), chopped(), chop(), truncate(), sliced() y slice().

[noexcept] qsizetype QByteArrayView::lastIndexOf(QByteArrayView bv, qsizetype from) const

[noexcept] qsizetype QByteArrayView::lastIndexOf(char ch, qsizetype from = -1) const

Devuelve la posición del índice del inicio de la última ocurrencia de la secuencia de bytes vista por bv o la última ocurrencia del byte ch, respectivamente, en esta vista de matriz de bytes, buscando hacia atrás desde la posición del índice from.

Si from es -1, la búsqueda comienza en el último carácter; si es -2, en el penúltimo carácter y así sucesivamente.

Devuelve -1 si no se encuentra ninguna coincidencia.

Nota: Cuando se busca una bv de longitud 0, la coincidencia al final de los datos se excluye de la búsqueda mediante un from negativo, aunque -1 se considere normalmente como una búsqueda desde el final de la vista: la coincidencia al final está después del último carácter, por lo que se excluye. Para incluir esta coincidencia final vacía, dé un valor positivo a from u omita por completo el parámetro from.

Véase también indexOf() y contains().

[noexcept, since 6.2] qsizetype QByteArrayView::lastIndexOf(QByteArrayView bv) const

Devuelve la posición del índice del inicio de la última aparición de la secuencia de bytes visualizada por bv en esta vista de matriz de bytes, buscando hacia atrás desde el final de esta vista de matriz de bytes. Devuelve -1 si no se encuentra ninguna coincidencia.

Se trata de una función sobrecargada.

Esta función se introdujo en Qt 6.2.

Véase también indexOf() y contains().

[constexpr noexcept] qsizetype QByteArrayView::length() const

Igual que size().

Véase también empty(), isEmpty(), isNull() y size().

[static constexpr noexcept, since 6.8] qsizetype QByteArrayView::maxSize()

Devuelve el número máximo de elementos que teóricamente puede representar la vista. En la práctica, el número puede ser mucho menor, limitado por la cantidad de memoria disponible en el sistema.

Esta función se introdujo en Qt 6.8.

[constexpr noexcept, since 6.8] qsizetype QByteArrayView::max_size() const

Esta función se proporciona por compatibilidad con STL.

Devuelve maxSize().

Esta función se introdujo en Qt 6.8.

[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::rbegin() const

Devuelve un iterador inverso de estilo STL que apunta al primer byte de la vista de matriz de bytes, en orden inverso.

Esta función se proporciona por compatibilidad con STL.

Véase también rend(), crbegin() y begin().

[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::rend() const

Devuelve un iterador inverso de estilo STL que apunta al último byte de la vista de matriz de bytes, en orden inverso.

Esta función se proporciona por compatibilidad con STL.

Véase también rbegin(), crend() y end().

[constexpr noexcept] qsizetype QByteArrayView::size() const

Devuelve el número de bytes en esta vista de matriz de bytes.

Véase también empty(), isEmpty() y isNull().

[constexpr, since 6.8] QByteArrayView &QByteArrayView::slice(qsizetype pos, qsizetype n)

Modifica esta vista de matriz de bytes para que comience en la posición pos, extendiéndose para n bytes.

Nota: El comportamiento es indefinido cuando pos < 0, n < 0, o pos + n > size().

Esta función se introdujo en Qt 6.8.

Véase también sliced(), first(), last(), chopped(), chop(), y truncate().

[constexpr, since 6.8] QByteArrayView &QByteArrayView::slice(qsizetype pos)

Modifica esta vista de matriz de bytes para que comience en la posición pos, extendiéndose hasta su final.

Nota: El comportamiento es indefinido cuando pos < 0 o pos > size().

Esta es una función sobrecargada.

Esta función se introdujo en Qt 6.8.

Ver también sliced(), first(), last(), chopped(), chop(), y truncate().

[constexpr] QByteArrayView QByteArrayView::sliced(qsizetype pos) const

Devuelve una vista de matriz de bytes que comienza en la posición pos en este objeto, y se extiende hasta su final.

Nota: El comportamiento es indefinido cuando pos < 0 o pos > size().

Véase también first(), last(), chopped(), chop(), truncate(), y slice().

[constexpr] QByteArrayView QByteArrayView::sliced(qsizetype pos, qsizetype n) const

Devuelve una vista de matriz de bytes que apunta a n bytes de esta vista de matriz de bytes, comenzando en la posición pos.

Nota: El comportamiento es indefinido cuando pos < 0, n < 0, o pos + n > size().

Véase también first(), last(), chopped(), chop(), truncate(), y slice().

[noexcept] bool QByteArrayView::startsWith(QByteArrayView bv) const

[constexpr noexcept] bool QByteArrayView::startsWith(char ch) const

Devuelve true si esta vista de matriz de bytes comienza con la vista de matriz de bytes bv o el carácter ch, respectivamente; en caso contrario devuelve false.

Véase también endsWith().

QByteArray QByteArrayView::toByteArray() const

Devuelve una copia profunda de los datos de esta vista de matriz de bytes como QByteArray.

El valor devuelto será un null QByteArray si y sólo si esta vista de matriz de bytes es null.

[since 6.3] double QByteArrayView::toDouble(bool *ok = nullptr) const

Devuelve esta vista de matriz de bytes convertida a un valor double.

Devuelve un infinito si la conversión se desborda o 0.0 si la conversión falla por otras razones (por ejemplo, desbordamiento por defecto).

Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.

Advertencia: El contenido de QByteArrayView sólo puede contener caracteres numéricos válidos, lo que incluye el signo más/menos, el carácter e utilizado en notación científica y el punto decimal. La inclusión de la unidad o de caracteres adicionales provoca un error de conversión.

Nota: La conversión del número se realiza en la configuración regional predeterminada de C, independientemente de la configuración regional del usuario. Utilice QLocale para realizar conversiones locales entre números y cadenas.

Esta función ignora los caracteres de espaciado inicial y final.

Esta función se introdujo en Qt 6.3.

[since 6.3] float QByteArrayView::toFloat(bool *ok = nullptr) const

Devuelve esta vista de matriz de bytes convertida a un valor float.

Devuelve un infinito si la conversión se desborda o 0.0 si la conversión falla por otras razones (por ejemplo, desbordamiento por defecto).

Si ok no es nullptr, el fallo se notifica estableciendo *ok en false, y el éxito estableciendo *ok en true.

QByteArrayView string("1234.56 Volt");
bool ok;
float a = string.toFloat(&ok);       // a == 0, ok == false
a = string.first(7).toFloat(&ok); // a == 1234.56, ok == true

Advertencia: El contenido de QByteArrayView sólo puede contener caracteres numéricos válidos, lo que incluye el signo más/menos, el carácter e utilizado en notación científica y el punto decimal. La inclusión de la unidad o de caracteres adicionales provoca un error de conversión.

Nota: La conversión del número se realiza en la configuración regional predeterminada de C, independientemente de la configuración regional del usuario. Utilice QLocale para realizar conversiones locales entre números y cadenas.

Esta función ignora los espacios en blanco iniciales y finales.

Esta función se introdujo en Qt 6.3.

[since 6.3] int QByteArrayView::toInt(bool *ok = nullptr, int base = 10) const

Devuelve esta vista de matriz de bytes convertida a int utilizando la base base, que es diez por defecto. Se admiten las bases 0 y 2 hasta 36, utilizando letras para los dígitos más allá de 9; A es diez, B es once y así sucesivamente.

Si base es 0, la base se determina automáticamente utilizando las siguientes reglas: si la vista de la matriz de bytes comienza con "0x", el resto se lee como hexadecimal (base 16); de lo contrario, si comienza con "0", el resto se lee como octal (base 8); de lo contrario, se lee como decimal.

Devuelve 0 si la conversión falla.

Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.

QByteArrayView str("FF");
bool ok;
int hex = str.toInt(&ok, 16);     // hex == 255, ok == true
int dec = str.toInt(&ok, 10);     // dec == 0, ok == false

Nota: La conversión del número se realiza en la configuración regional predeterminada de C, independientemente de la configuración regional del usuario. Utiliza QLocale para realizar conversiones locales entre números y cadenas.

Esta función se introdujo en Qt 6.3.

[since 6.3] long QByteArrayView::toLong(bool *ok = nullptr, int base = 10) const

Devuelve esta vista de matriz de bytes convertida a un int long utilizando la base base, que es diez por defecto. Se admiten las bases 0 y 2 hasta 36, utilizando letras para los dígitos más allá de 9; A es diez, B es once y así sucesivamente.

Si base es 0, la base se determina automáticamente utilizando las siguientes reglas: si la vista de la matriz de bytes comienza con "0x", el resto se lee como hexadecimal (base 16); de lo contrario, si comienza con "0", el resto se lee como octal (base 8); de lo contrario, se lee como decimal.

Devuelve 0 si la conversión falla.

Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.

QByteArrayView str("FF");
bool ok;
long hex = str.toLong(&ok, 16);   // hex == 255, ok == true
long dec = str.toLong(&ok, 10);   // dec == 0, ok == false

Nota: La conversión del número se realiza en la configuración regional predeterminada de C, independientemente de la configuración regional del usuario. Utiliza QLocale para realizar conversiones locales entre números y cadenas.

Esta función se introdujo en Qt 6.3.

[since 6.3] qlonglong QByteArrayView::toLongLong(bool *ok = nullptr, int base = 10) const

Devuelve esta vista de matriz de bytes convertida a long long utilizando la base base, que es diez por defecto. Se admiten las bases 0 y 2 hasta 36, utilizando letras para los dígitos más allá de 9; A es diez, B es once y así sucesivamente.

Si base es 0, la base se determina automáticamente utilizando las siguientes reglas: si la vista de la matriz de bytes comienza con "0x", el resto se lee como hexadecimal (base 16); de lo contrario, si comienza con "0", el resto se lee como octal (base 8); de lo contrario, se lee como decimal.

Devuelve 0 si la conversión falla.

Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.

Nota: La conversión del número se realiza en la configuración regional predeterminada de C, independientemente de la configuración regional del usuario. Utiliza QLocale para realizar conversiones locales entre números y cadenas.

Esta función se introdujo en Qt 6.3.

[since 6.3] short QByteArrayView::toShort(bool *ok = nullptr, int base = 10) const

Devuelve esta vista de matriz de bytes convertida a short utilizando la base base, que es diez por defecto. Se admiten las bases 0 y 2 hasta 36, utilizando letras para los dígitos más allá de 9; A es diez, B es once y así sucesivamente.

Si base es 0, la base se determina automáticamente utilizando las siguientes reglas: si la vista de la matriz de bytes comienza con "0x", el resto se lee como hexadecimal (base 16); de lo contrario, si comienza con "0", el resto se lee como octal (base 8); de lo contrario, se lee como decimal.

Devuelve 0 si la conversión falla.

Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.

Nota: La conversión del número se realiza en la configuración regional predeterminada de C, independientemente de la configuración regional del usuario. Utiliza QLocale para realizar conversiones locales entre números y cadenas.

Esta función se introdujo en Qt 6.3.

[since 6.3] uint QByteArrayView::toUInt(bool *ok = nullptr, int base = 10) const

Devuelve esta vista de matriz de bytes convertida a unsigned int utilizando la base base, que es diez por defecto. Se admiten las bases 0 y 2 hasta 36, utilizando letras para los dígitos más allá de 9; A es diez, B es once y así sucesivamente.

Si base es 0, la base se determina automáticamente utilizando las siguientes reglas: si la vista de la matriz de bytes comienza con "0x", el resto se lee como hexadecimal (base 16); de lo contrario, si comienza con "0", el resto se lee como octal (base 8); de lo contrario, se lee como decimal.

Devuelve 0 si la conversión falla.

Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.

Nota: La conversión del número se realiza en la configuración regional predeterminada de C, independientemente de la configuración regional del usuario. Utiliza QLocale para realizar conversiones locales entre números y cadenas.

Esta función se introdujo en Qt 6.3.

[since 6.3] ulong QByteArrayView::toULong(bool *ok = nullptr, int base = 10) const

Devuelve esta vista de matriz de bytes convertida a unsigned long int utilizando la base base, que es diez por defecto. Se admiten las bases 0 y 2 hasta 36, utilizando letras para los dígitos más allá de 9; A es diez, B es once y así sucesivamente.

Si base es 0, la base se determina automáticamente utilizando las siguientes reglas: si la vista de la matriz de bytes comienza con "0x", el resto se lee como hexadecimal (base 16); de lo contrario, si comienza con "0", el resto se lee como octal (base 8); de lo contrario, se lee como decimal.

Devuelve 0 si la conversión falla.

Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.

Nota: La conversión del número se realiza en la configuración regional predeterminada de C, independientemente de la configuración regional del usuario. Utiliza QLocale para realizar conversiones locales entre números y cadenas.

Esta función se introdujo en Qt 6.3.

[since 6.3] qulonglong QByteArrayView::toULongLong(bool *ok = nullptr, int base = 10) const

Devuelve esta vista de matriz de bytes convertida a unsigned long long utilizando la base base, que es diez por defecto. Se admiten las bases 0 y 2 hasta 36, utilizando letras para los dígitos más allá de 9; A es diez, B es once y así sucesivamente.

Si base es 0, la base se determina automáticamente utilizando las siguientes reglas: si la vista de la matriz de bytes comienza con "0x", el resto se lee como hexadecimal (base 16); de lo contrario, si comienza con "0", el resto se lee como octal (base 8); de lo contrario, se lee como decimal.

Devuelve 0 si la conversión falla.

Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.

Nota: La conversión del número se realiza en la configuración regional predeterminada de C, independientemente de la configuración regional del usuario. Utiliza QLocale para realizar conversiones locales entre números y cadenas.

Esta función se introdujo en Qt 6.3.

[since 6.3] ushort QByteArrayView::toUShort(bool *ok = nullptr, int base = 10) const

Devuelve esta vista de matriz de bytes convertida a unsigned short utilizando la base base, que es diez por defecto. Se admiten las bases 0 y 2 hasta 36, utilizando letras para los dígitos más allá de 9; A es diez, B es once y así sucesivamente.

Si base es 0, la base se determina automáticamente utilizando las siguientes reglas: si la vista de la matriz de bytes comienza con "0x", el resto se lee como hexadecimal (base 16); de lo contrario, si comienza con "0", el resto se lee como octal (base 8); de lo contrario, se lee como decimal.

Devuelve 0 si la conversión falla.

Si ok no es nullptr, se informa del fallo estableciendo *ok en false, y del éxito estableciendo *ok en true.

Nota: La conversión del número se realiza en la configuración regional predeterminada de C, independientemente de la configuración regional del usuario. Utiliza QLocale para realizar conversiones locales entre números y cadenas.

Esta función se introdujo en Qt 6.3.

[noexcept, since 6.3] QByteArrayView QByteArrayView::trimmed() const

Devuelve una copia de esta vista de matriz de bytes con los caracteres de espaciado eliminados del inicio y del final.

Los caracteres de espaciado son aquellos para los que la función estándar de C++ isspace() devuelve true en la configuración regional de C; estos son los caracteres ASCII tabulación '\t', avance de línea '\n', retorno de carro '\r', tabulación vertical '\v', avance de forma '\f', y espacio ' '.

Esta función se introdujo en Qt 6.3.

Véase también QChar::SpecialCharacter y Spacing Characters.

[constexpr] void QByteArrayView::truncate(qsizetype length)

Trunca esta vista de matriz de bytes a la longitud length.

Igual que *this = first(length).

Nota: El comportamiento es indefinido cuando length < 0 o length > size().

Véase también first(), last(), sliced(), chopped() y chop().

[constexpr noexcept, since 6.7] QByteArrayView::operator std::string_view() const

Convierte este objeto QByteArrayView en un objeto std::string_view. La vista devuelta tendrá el mismo puntero de datos y longitud de esta vista.

Esta función se introdujo en Qt 6.7.

[constexpr] char QByteArrayView::operator[](qsizetype n) const

Devuelve el carácter en la posición n en esta vista de matriz de bytes.

El comportamiento es indefinido si n es negativo o no menor que size().

Véase también at(), front(), y back().

No miembros relacionados

[noexcept] bool operator==(const QByteArrayView &lhs, const QByteArrayView &rhs)

[noexcept] bool operator!=(const QByteArrayView &lhs, const QByteArrayView &rhs)

[noexcept] bool operator<(const QByteArrayView &lhs, const QByteArrayView &rhs)

[noexcept] bool operator<=(const QByteArrayView &lhs, const QByteArrayView &rhs)

[noexcept] bool operator>(const QByteArrayView &lhs, const QByteArrayView &rhs)

[noexcept] bool operator>=(const QByteArrayView &lhs, const QByteArrayView &rhs)

Operadores de comparación para QByteArrayView.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.