QByteArrayView Class
QByteArrayView 클래스는 QByteArray API의 읽기 전용 하위 집합을 사용하여 바이트 배열에 대한 뷰를 제공합니다. 더 보기...
| 헤더: | #include <QByteArrayView> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| 다음부터: | Qt 6.0부터 |
- 상속된 멤버를 포함한 모든 멤버 목록
- 사용 중단된 멤버
- QByteArrayView는 ‘암시적 공유 클래스 ’ 및 ‘문자열 데이터용 클래스’에 속합니다.
참고: 이 클래스의 모든 함수는 재진입 가능합니다.
QByteArrayView 비교
| 범주 | 비교 가능한 유형 | 설명 |
|---|---|---|
| strong | QByteArrayView | |
| strong | QString, QStringView, QUtf8StringView, QLatin1StringView, QChar 및 char16_t. | 문자열 및 유니코드 문자 유형과 비교할 때, 내용은 UTF-8로 해석됩니다. |
공개 유형
| const_iterator | |
| const_pointer | |
| const_reference | |
| const_reverse_iterator | |
| difference_type | |
| iterator | |
| pointer | |
| reference | |
| reverse_iterator | |
| size_type | |
| storage_type | |
| value_type |
공용 함수
| QByteArrayView() | |
(since 6.9) | QByteArrayView(const Byte (&data)[]) |
| QByteArrayView(const Byte *data) | |
| QByteArrayView(const Container &c) | |
| QByteArrayView(const QByteArray &byteArray) | |
| QByteArrayView(const char (&data)[Size]) | |
| 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 |
정적 공용 멤버
관련 비회원
| 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) |
자세한 설명
QByteArrayView는 자신이 소유하지 않은 원시 바이트의 연속된 부분을 참조합니다. 이는 QByteArray 를 먼저 생성할 필요 없이, 모든 종류의 바이트 배열과 유사한 데이터에 대한 인터페이스 유형 역할을 합니다.
바이트 배열 데이터는 char, signed char, unsigned char 또는 std::byte 의 배열(또는 QByteArray, std::basic_string 등과 같은 배열 호환 데이터 구조)로 표현될 수 있습니다.
QByteArrayView는 인터페이스 유형으로 설계되었으며, 주로 함수 매개변수 유형으로 사용됩니다. QByteArrayView를 자동 변수나 데이터 멤버로 사용할 때는, 바이트 배열 뷰가 삭제된 데이터를 참조하는 상황이 발생하지 않도록 모든 코드 경로에서 참조되는 데이터(예: QByteArray 가 소유한 데이터)가 QByteArrayView보다 오래 유지되도록 주의해야 합니다.
인터페이스 유형으로 사용될 때, QByteArrayView를 사용하면 단일 함수가 다양한 바이트 배열과 유사한 데이터 소스를 받아들일 수 있습니다. 따라서 QByteArrayView를 받아들이는 하나의 함수는 여러 함수 오버로드(예: QByteArray, const char * 등)를 대체하는 동시에, 더 많은 바이트 배열 데이터 소스를 함수로 전달할 수 있게 해줍니다.
QByteArrayView는 const 참조가 아닌 값으로 전달되어야 합니다:
void myfun1(QByteArrayView bv); // preferred
void myfun2(const QByteArrayView &bv); // compiles and works, but slower사용자가 함수에 전달할 수 있는 데이터 유형에 대해 최대한의 자유를 부여하려면, QByteArrayView 오버로드와 함께
- char에 대한 오버로드를 함께 제공하십시오. 이 오버로드는 QByteArrayView 버전에 위임할 수 있습니다:
void fun(QByteArrayView bv); void fun(char ch) { fun(QByteArrayView(&ch, 1)); }비록 기술적인 이유로 QByteArrayView가 자체적으로 char 생성자를 제공할 수는 없더라도 말입니다.
- QByteArray: 바이트 배열의 수정되지 않은 사본을 저장하여 QByteArray 의 암시적 공유 기능을 활용하고자 하는 경우.
QByteArrayView는 함수의 반환값으로도 사용할 수 있습니다. QByteArrayView를 반환하는 함수를 호출하는 경우, 함수가 참조된 데이터를 유지하겠다고 약속한 기간보다 QByteArrayView를 더 오래 유지하지 않도록 각별히 주의해야 합니다. 확실하지 않은 경우, toByteArray()를 호출하여 QByteArrayView를 QByteArray 로 변환함으로써 데이터에 대한 강력한 참조를 확보하십시오.
QByteArrayView가 지원하는 메서드는 QByteArray 의 메서드를 반영합니다. 특히, 표시되는 문자 데이터에 의미론(예: 대소문자, 공백, 숫자의 자릿수 등)을 부여하는 제한된 범위 내에서 C 로케일과 ASCII 인코딩을 사용합니다. 이러한 메서드에 대한 세부 사항 및 제한 사항은 C locale and ASCII functions 를 참조하십시오.
호환되는 바이트 유형
QByteArrayView는 바이트 유형이 다음 중 하나인 모든 바이트 컨테이너를 기반으로 생성될 수 있습니다:
char(부호 있는 및 부호 없는 모두)std::byte
QByteArray 및 QStringView도 참조하십시오 .
멤버 유형 설명서
QByteArrayView::const_iterator
이 typedef는 ` QByteArrayView`에 대한 STL 스타일의 const 이터레이터를 제공합니다.
iterator 및 const_reverse_iterator도 참조하십시오 .
QByteArrayView::const_pointer
value_type * 의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
QByteArrayView::const_reference
value_type & 의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
QByteArrayView::const_reverse_iterator
이 typedef는 ` QByteArrayView`에 대해 STL 스타일의 const 역방향 이터레이터를 제공합니다.
reverse_iterator 및 const_iterator도 참조하십시오 .
QByteArrayView::difference_type
std::ptrdiff_t 의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
QByteArrayView::iterator
이 typedef는 ` QByteArrayView`에 대해 STL 스타일의 const 이터레이터를 제공합니다.
QByteArrayView 변경 가능한 이터레이터를 지원하지 않으므로, 이는 ` const_iterator`와 동일합니다.
const_iterator 및 reverse_iterator도 참조하십시오 .
QByteArrayView::pointer
value_type * 의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
QByteArrayView 가변 포인터를 지원하지 않으므로, 이는 const_pointer 와 동일합니다.
QByteArrayView::reference
value_type & 의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
QByteArrayView 가변 참조를 지원하지 않으므로, 이는 const_reference 와 동일합니다.
QByteArrayView::reverse_iterator
이 typedef는 ` QByteArrayView`에 대해 STL 스타일의 const 역방향 이터레이터를 제공합니다.
QByteArrayView const_reverse_iterator 은 가변 역방향 이터레이터를 지원하지 않으므로, 이는 과 동일합니다.
const_reverse_iterator 및 iterator도 참조하십시오 .
QByteArrayView::size_type
qsizetype의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
QByteArrayView::storage_type
char 의 별칭입니다.
QByteArrayView::value_type
const char 의 별칭입니다. STL과의 호환성을 위해 제공됩니다.
멤버 함수 설명서
[constexpr noexcept default] QByteArrayView::QByteArrayView()
null 바이트 배열 뷰를 생성합니다.
isNull()도 참조하십시오 .
[constexpr noexcept, since 6.9] template <typename Byte> requires if_compatible_byte<Byte> QByteArrayView::QByteArrayView(const Byte (&data)[])
data(크기가 알려지지 않은 배열)에 바이트 배열 뷰를 생성합니다. 길이는 첫 번째 Byte(0) 를 스캔하여 결정됩니다.
data 이 바이트 배열 뷰 객체의 수명 기간 동안 유효한 상태를 유지해야 합니다.
제약 조건
Byte 가 호환되는 바이트 유형인 경우에만 오버로드 해결에 참여합니다.
이 함수는 Qt 6.9에서 도입되었습니다.
Compatible Byte Types도 참조하십시오 .
[constexpr noexcept] template <typename Byte> QByteArrayView::QByteArrayView(const Byte *data)
data 를 기반으로 바이트 배열 뷰를 생성합니다. 길이는 첫 번째 Byte(0) 를 찾아내는 과정을 통해 결정됩니다.
data 이 바이트 배열 뷰 객체의 수명 기간 동안 유효한 상태를 유지해야 합니다.
nullptr 를 data 로 전달하는 것은 안전하며, 이 경우 null 바이트 배열 뷰가 생성됩니다.
제약 조건
data 가 배열이 아니고 Byte 가 호환되는 바이트 유형인 경우에만 오버로드 해결에 참여합니다.
Compatible Byte Types도 참조하십시오 .
[constexpr noexcept] template <typename Container> requires if_compatible_container<Container> QByteArrayView::QByteArrayView(const Container &c)
배열과 유사한 컨테이너 c 에 바이트 배열 뷰를 생성합니다. 길이와 데이터는 각각 ` std::size(c) ` 및 ` std::data(c) `을 통해 설정됩니다.
컨테이너의 데이터는 이 바이트 배열 뷰 객체의 수명 동안 유효한 상태를 유지해야 합니다.
제약 조건
c 가 호환 가능한 바이트 유형의 요소를 가진 연속적인 컨테이너인 경우에만 오버로드 해결에 참여합니다.
Compatible Byte Types도 참조하십시오 .
[noexcept] QByteArrayView::QByteArrayView(const QByteArray &byteArray)
byteArray 에 바이트 배열 뷰를 생성합니다.
byteArray.data() 이 바이트 배열 뷰 객체의 수명 기간 동안 유효해야 합니다.
byteArray.isNull() 인 경우에만 바이트 배열 뷰가 null이 됩니다.
[constexpr noexcept] template <size_t Size> QByteArrayView::QByteArrayView(const char (&data)[Size])
data 의 char 배열을 기반으로 바이트 배열 뷰를 생성합니다. 이 뷰는 첫 번째 '\0' 가 발견되거나 Size 가 발생할 때까지(둘 중 먼저 발생하는 경우) 해당 배열을 덮습니다. 전체 배열이 필요한 경우 대신 fromArray()를 사용하십시오.
data 이 바이트 배열 뷰 객체의 수명 기간 동안 유효하게 유지되어야 합니다.
참고: 이 생성자는 char 배열 리터럴에서만 사용할 수 있습니다. 그 이유는 "충분히 큰" 배열을 미리 정의해 두지만, 미리 할당된 공간 중 일부만 사용하는 C 라이브러리와의 호환성을 위해서입니다. 암시적 생성자 오버로드를 통해 이를 직관적인 방식으로 지원하려면, 첫 번째 char(0) 에서 멈춰야 합니다. 이는 char 배열의 경우 논리적이지만, std::byte 배열의 경우에는 그렇지 않습니다. 그러나 이는 해당 포인터(Byte*) 및 길이 미지 배열(Byte[]) 생성자와 일관성이 없으므로, 향후 Qt 버전에서 변경될 수 있습니다.
fromArray도 참조하십시오 .
[constexpr noexcept] QByteArrayView::QByteArrayView(std::nullptr_t)
null 바이트 배열 뷰를 생성합니다.
isNull()도 참조하십시오 .
[constexpr] template <typename Byte> requires if_compatible_byte<Byte> QByteArrayView::QByteArrayView(const Byte *first, const Byte *last)
first 를 기반으로 길이 (last - first)의 바이트 배열 뷰를 생성합니다.
[first,last) 범위는 이 QByteArrayView의 수명 기간 동안 유효해야 합니다.
last 도 nullptr 인 경우 \nullptr 를 first 로 전달하는 것은 안전하며, 그 결과 null 바이트 배열 뷰가 생성됩니다.
last 가 first 보다 앞서 있거나, first 가 nullptr 인 반면 last 가 그렇지 않은 경우, 동작은 정의되지 않습니다.
제약 조건
Byte 가 호환되는 바이트 유형인 경우에만 오버로드 해결에 참여합니다.
Compatible Byte Types도 참조하십시오 .
[constexpr] template <typename Byte> requires if_compatible_byte<Byte> QByteArrayView::QByteArrayView(const Byte *data, qsizetype len)
data 를 기반으로 길이 len 인 바이트 배열 뷰를 생성합니다.
[data,len) 범위는 이 QByteArrayView의 수명 기간 동안 유효해야 합니다.
len 가 0인 경우 nullptr 를 data 로 전달하는 것은 안전하며, 이 경우 null 바이트 배열 뷰가 생성됩니다.
len 가 음수이거나, 양수일 때 data 가 nullptr 인 경우 동작은 정의되지 않습니다.
제약 조건
Byte 가 호환 가능한 바이트 유형인 경우에만 오버로드 해결에 참여합니다.
Compatible Byte Types도 참조하십시오 .
[constexpr] char QByteArrayView::at(qsizetype n) const
이 바이트 배열 뷰에서 위치 n 에 있는 문자를 반환합니다.
n 가 음수이거나 size()보다 크거나 같을 경우 동작이 정의되지 않습니다.
operator[](), front() 및 back()도 참조하십시오 .
[constexpr] char QByteArrayView::back() const
바이트 배열 뷰의 마지막 바이트를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
경고: 빈 바이트 배열 뷰에서 이 함수를호출하면 정의되지 않은 동작이 발생합니다.
front()도 참조하십시오 .
[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::begin() const
바이트 배열 뷰의 첫 번째 바이트를 가리키는 const STL 스타일의 이터레이터를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
end(), cbegin(), rbegin(), data()도 참조하십시오 .
[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::cbegin() const
begin()와 동일합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
cend(), begin(), crbegin() 및 data()도 참조하십시오 .
[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::cend() const
end()와 동일합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
cbegin(), end() 및 crend()도 참조하십시오 .
[constexpr] void QByteArrayView::chop(qsizetype length)
이 바이트 배열 뷰를 length 개의 문자로 잘라냅니다.
*this = first(size() - length) 와 동일합니다.
참고: length < 0이거나 length > size()인 경우동작이 정의되지 않습니다.
sliced(), first(), last(), chopped(), truncate() 및 slice()도 참조하십시오 .
[constexpr] QByteArrayView QByteArrayView::chopped(qsizetype length) const
이 바이트 배열 뷰에서 마지막 length 바이트를 제외한 복사본을 반환합니다. 즉, 이 객체의 시작 부분부터 size() - length 길이의 바이트 배열 뷰를 반환합니다.
first(size() - length) 와 동일합니다.
참고: length < 0이거나 length > size()인 경우동작이 정의되지 않습니다.
first(), last(), sliced(), chop(), truncate() 및 slice()도 참조하십시오 .
[noexcept, since 6.2] int QByteArrayView::compare(QByteArrayView bv, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
이 QByteArrayView 가 QByteArrayView bv 보다 앞, 같은 위치, 또는 뒤에 정렬되는지에 따라 0보다 작거나, 같거나, 큰 정수를 반환합니다. 비교는 대소문자 구분을 고려하여 수행됩니다. cs
이 함수는 Qt 6.2에서 도입되었습니다.
operator==()도 참조하십시오 .
[constexpr noexcept] QByteArrayView::const_pointer QByteArrayView::constData() const
바이트 배열 뷰의 첫 번째 바이트를 가리키는 const ` char ` 포인터를 반환합니다.
참고: 반환 값이 나타내는 문자배열이 null로 종료된다는 보장은 없습니다. 반환된 포인터는 이 바이트 배열 뷰의 ` size()`보다 작은 인덱스에 있는 바이트에 접근할 때만 안전하게 사용할 수 있습니다.
참조: ` data()`, ` begin()`, ` end()`.
[noexcept] bool QByteArrayView::contains(QByteArrayView bv) const
[noexcept] bool QByteArrayView::contains(char ch) const
이 바이트 배열 뷰에 bv 또는 문자 ch 로 확인된 바이트 시퀀스가 포함되어 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
indexOf() 및 lastIndexOf()도 참조하십시오 .
[noexcept] qsizetype QByteArrayView::count(QByteArrayView bv) const
bv 가 이 바이트 배열 뷰에서 인식한 바이트 시퀀스의 (중복될 가능성이 있는) 발생 횟수를 반환합니다.
contains() 및 indexOf()도 참조하십시오 .
[noexcept] qsizetype QByteArrayView::count(char ch) const
이 바이트 배열 뷰에서 바이트 ch 가 나타나는 횟수를 반환합니다.
이 함수는 오버로드된 함수입니다.
contains() 및 indexOf()도 참조하십시오 .
[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::crbegin() const
rbegin()와 동일합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
crend(), rbegin() 및 cbegin()도 참조하십시오 .
[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::crend() const
rend()와 동일합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
crbegin(), rend() 및 cend()도 참조하십시오 .
[constexpr noexcept] QByteArrayView::const_pointer QByteArrayView::data() const
바이트 배열 뷰의 첫 번째 바이트를 가리키는 const char 포인터를 반환합니다.
참고: 반환 값이 나타내는 문자배열이 null로 종료된다는 보장은 없습니다. 반환된 포인터는 이 바이트 배열 뷰의 ` size()`보다 작은 인덱스에 있는 바이트에 접근할 때만 안전하게 사용할 수 있습니다.
[constexpr noexcept] bool QByteArrayView::empty() const
이 바이트 배열 뷰가 비어 있는 경우(즉, ` size() == 0`인 경우) ` true `를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
isEmpty(), isNull() 및 size()도 참조하십시오 .
[constexpr noexcept] QByteArrayView::const_iterator QByteArrayView::end() const
바이트 배열 뷰의 마지막 바이트 바로 다음을 가리키는 const STL 스타일 이터레이터를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
begin(), cend(), rend()도 참조하십시오 .
[noexcept] bool QByteArrayView::endsWith(QByteArrayView bv) const
[constexpr noexcept] bool QByteArrayView::endsWith(char ch) const
true 이 바이트 배열 뷰가 바이트 배열 뷰 bv 또는 문자 ch 로 끝나는 경우 각각 해당 값을 반환하고, 그렇지 않은 경우 false 를 반환합니다.
startsWith()도 참조하십시오 .
[constexpr] QByteArrayView QByteArrayView::first(qsizetype n) const
이 바이트 배열 뷰의 처음 n 바이트를 가리키는 바이트 배열 뷰를 반환합니다. sliced(0, n) 와 동일합니다.
참고: n < 0이거나 n > size()인 경우동작이 정의되지 않습니다.
last(), startsWith(), chopped(), chop(), truncate(), sliced() 및 slice()도 참조하십시오 .
[static constexpr noexcept] template <typename Byte, size_t Size> QByteArrayView QByteArrayView::fromArray(const Byte (&data)[Size])
Size 바이트 크기의 배열 리터럴 ` data `에 대한 바이트 배열 뷰를 생성합니다. 이 뷰는 전체 배열을 포함합니다. 여기에는 ` char ` 배열 리터럴의 맨 끝에 있는 널 종결자도 포함됩니다. 뷰에 널 종결자를 포함하지 않으려면, 널 종결자가 배열의 맨 끝에 확실히 위치한다고 판단될 때 ` chop()`를 사용하여 이를 제외할 수 있습니다. 또는 char 배열 리터럴을 인수로 받는 생성자 오버로드를 사용할 수 있는데, 이 경우 데이터 내의 첫 번째 널 종결자 바로 앞까지(널 종결자 자체는 제외) 뷰를 생성합니다.
이 함수는 호환되는 바이트 유형의 모든 배열 리터럴에서 작동합니다.
Compatible Byte Types 및 QByteArrayView도 참조하십시오 .
[constexpr] char QByteArrayView::front() const
바이트 배열 뷰의 첫 번째 바이트를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
경고: 빈 바이트 배열 뷰에서 이 함수를호출하면 정의되지 않은 동작이 발생합니다.
back()도 참조하십시오 .
[noexcept] qsizetype QByteArrayView::indexOf(QByteArrayView bv, qsizetype from = 0) const
[noexcept] qsizetype QByteArrayView::indexOf(char ch, qsizetype from = 0) const
bv 로 확인된 바이트 시퀀스의 첫 번째 출현 지점 또는 바이트 ch 의 첫 번째 출현 지점 중 하나에 해당하는 인덱스 위치를 반환하며, 일치하는 항목이 발견되지 않을 경우 인덱스 위치 from.Returns -1부터 앞으로 검색합니다.
from 가 -1인 경우 검색은 마지막 문자로부터 시작하고, -2인 경우 마지막에서 두 번째 문자로부터 시작하며, 이와 같은 방식으로 진행됩니다.
lastIndexOf() 및 contains()도 참조하십시오 .
[constexpr noexcept] bool QByteArrayView::isEmpty() const
이 바이트 배열 뷰가 비어 있는 경우(즉, size() == 0 인 경우) true 를 반환합니다.
empty(), isNull() 및 size()도 참조하십시오 .
[constexpr noexcept] bool QByteArrayView::isNull() const
이 바이트 배열 뷰가 null인 경우, 즉 data() == nullptr 인 경우 true 를 반환합니다.
empty(), isEmpty() 및 size()도 참조하십시오 .
[noexcept, since 6.3] bool QByteArrayView::isValidUtf8() const
이 바이트 배열 뷰에 유효한 UTF-8 인코딩 데이터가 포함되어 있으면 ` true `을 반환하고, 그렇지 않으면 ` false `을 반환합니다.
이 함수는 Qt 6.3에서 도입되었습니다.
[constexpr] QByteArrayView QByteArrayView::last(qsizetype n) const
이 바이트 배열 뷰의 마지막 n 바이트를 가리키는 바이트 배열 뷰를 반환합니다.
참고: n < 0이거나 n > size()인 경우동작이 정의되지 않습니다.
참조: ` first()`, ` endsWith()`, ` chopped()`, ` chop()`, ` truncate()`, ` sliced()` 및 ` slice()`.
[noexcept] qsizetype QByteArrayView::lastIndexOf(QByteArrayView bv, qsizetype from) const
[noexcept] qsizetype QByteArrayView::lastIndexOf(char ch, qsizetype from = -1) const
이 바이트 배열 뷰에서 인덱스 위치 from 로부터 역방향으로 검색하여, bv 로 확인된 바이트 시퀀스의 마지막 출현 지점의 시작 위치 또는 바이트 ch 의 마지막 출현 지점 중 하나를 각각 반환합니다.
from 가 -1인 경우 검색은 마지막 문자로부터 시작하고, -2인 경우 마지막에서 두 번째 문자로부터 시작하며, 이와 같은 방식으로 진행됩니다.
일치하는 항목이 없으면 -1을 반환합니다.
참고: 길이가 0인 bv 를 검색할때 , -1 는 일반적으로 뷰의 끝에서 검색하는 것으로 간주되지만, 음수의 from 를 사용하면 데이터 끝의 일치 항목은 검색에서 제외됩니다. 끝의 일치 항목은 마지막 문자 뒤에 있으므로 제외되는 것입니다. 이러한 마지막 빈 일치 부분을 포함하려면, ` from `에 양수 값을 지정하거나 ` from ` 매개변수를 아예 생략해야 합니다.
indexOf() 및 contains()도 참조하십시오 .
[noexcept, since 6.2] qsizetype QByteArrayView::lastIndexOf(QByteArrayView bv) const
이 바이트 배열 뷰에서 ` bv `가 확인한 바이트 시퀀스가 마지막으로 나타나는 위치의 인덱스를, 이 바이트 배열 뷰의 끝에서 역방향으로 검색하여 반환합니다. 일치하는 항목이 없으면 -1을 반환합니다.
이 함수는 오버로드된 함수입니다.
이 함수는 Qt 6.2에서 도입되었습니다.
indexOf() 및 contains()도 참조하십시오 .
[constexpr noexcept] qsizetype QByteArrayView::length() const
size()와 동일합니다.
empty(), isEmpty(), isNull(), size()도 참조하십시오 .
[static constexpr noexcept, since 6.8] qsizetype QByteArrayView::maxSize()
이 함수는 뷰가 이론적으로 표현할 수 있는 요소의 최대 개수를 반환합니다. 실제로는 시스템에서 사용할 수 있는 메모리 양에 따라 이 개수가 훨씬 더 적을 수 있습니다.
이 함수는 Qt 6.8에서 도입되었습니다.
[constexpr noexcept, since 6.8] qsizetype QByteArrayView::max_size() const
이 함수는 STL 호환성을 위해 제공됩니다.
maxSize()를 반환합니다.
이 함수는 Qt 6.8에서 도입되었습니다.
[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::rbegin() const
바이트 배열 뷰의 첫 번째 바이트를 역순으로 가리키는 const STL 스타일 역방향 이터레이터를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
rend(), crbegin() 및 begin()도 참조하십시오 .
[constexpr noexcept] QByteArrayView::const_reverse_iterator QByteArrayView::rend() const
바이트 배열 뷰의 마지막 바이트 바로 다음 바이트를 가리키는, 역순의 STL 스타일 역방향 이터레이터를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
rbegin(), crend() 및 end()도 참조하십시오 .
[constexpr noexcept] qsizetype QByteArrayView::size() const
이 바이트 배열 뷰에 포함된 바이트 수를 반환합니다.
empty(), isEmpty(), isNull()도 참조하십시오 .
[constexpr, since 6.8] QByteArrayView &QByteArrayView::slice(qsizetype pos, qsizetype n)
이 바이트 배열 뷰를 pos 위치에서 시작하도록 수정하고, n 바이트만큼 확장합니다.
참고: pos < 0, n < 0, 또는 pos + n > size()인 경우동작이 정의되지 않습니다.
이 함수는 Qt 6.8에서 도입되었습니다.
sliced(), first(), last(), chopped(), chop() 및 truncate()도 참조하십시오 .
[constexpr, since 6.8] QByteArrayView &QByteArrayView::slice(qsizetype pos)
이 바이트 배열 뷰를 pos 위치에서 시작하여 끝까지 확장하도록 수정합니다.
참고: pos < 0이거나 pos > size()인 경우동작이 정의되지 않습니다.
이 함수는 오버로드된 함수입니다.
이 함수는 Qt 6.8에서 도입되었습니다.
sliced(), first(), last(), chopped(), chop() 및 truncate()도 참조하십시오 .
[constexpr] QByteArrayView QByteArrayView::sliced(qsizetype pos) const
이 객체의 pos 위치부터 시작하여 끝까지 이어지는 바이트 배열 뷰를 반환합니다.
참고: pos < 0이거나 pos > size()인 경우동작이 정의되지 않습니다.
first(), last(), chopped(), chop(), truncate(), slice()도 참조하십시오 .
[constexpr] QByteArrayView QByteArrayView::sliced(qsizetype pos, qsizetype n) const
pos 위치부터 시작하여 이 바이트 배열 뷰의 n 바이트를 가리키는 바이트 배열 뷰를 반환합니다.
참고: pos < 0, n < 0, 또는 pos + n > size()인 경우동작이 정의되지 않습니다.
first(), last(), chopped(), chop(), truncate() 및 slice()도 참조하십시오 .
[noexcept] bool QByteArrayView::startsWith(QByteArrayView bv) const
[constexpr noexcept] bool QByteArrayView::startsWith(char ch) const
이 바이트 배열 뷰가 각각 바이트 배열 뷰 bv 또는 문자 ch 로 시작하는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.
endsWith()도 참조하십시오 .
QByteArray QByteArrayView::toByteArray() const
이 바이트 배열 뷰의 데이터에 대한 딥 복사본을 ` QByteArray`로 반환합니다.
이 바이트 배열 뷰가 null인 경우에만 반환 값은 null QByteArray 이 됩니다.
[since 6.3] double QByteArrayView::toDouble(bool *ok = nullptr) const
이 바이트 배열 뷰를 ` double ` 값으로 변환한 결과를 반환합니다.
변환 시 오버플로우가 발생하면 무한대(infinity)를 반환하고, 다른 이유(예: 언더플로우)로 변환에 실패하면 0.0을 반환합니다.
ok 가 nullptr 가 아닌 경우, *ok 을 false 로 설정하여 실패를 알리고, *ok 을 true 로 설정하여 성공을 알립니다.
경고: ` QByteArrayView `의 내용에는 플러스/마이너스 기호, 과학적 표기법에 사용되는 문자 'e', 소수점을 포함한 유효한 숫자 문자만 포함될 수 있습니다. 단위나 추가 문자를 포함하면 변환 오류가 발생합니다.
참고: 숫자의변환은 사용자의 로케일과 관계없이 기본 C 로케일에서 수행됩니다. 숫자와 문자열 간의 로케일을 고려한 변환을 수행하려면 QLocale 를 사용하십시오.
이 함수는 앞뒤의 공백 문자를 무시합니다.
이 함수는 Qt 6.3에서 도입되었습니다.
[since 6.3] float QByteArrayView::toFloat(bool *ok = nullptr) const
이 바이트 배열 뷰를 ` float ` 값으로 변환한 결과를 반환합니다.
변환 시 오버플로우가 발생하면 무한대를, 다른 이유(예: 언더플로우)로 변환에 실패하면 0.0을 반환합니다.
ok 가 nullptr 가 아닌 경우, *ok 를 false 로 설정하여 실패를 보고하고, *ok 를 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경고: ` QByteArrayView `의 내용에는 더하기/빼기 기호, 과학적 표기법에서 사용되는 문자 `e`, 소수점 등 유효한 숫자 문자만 포함될 수 있습니다. 단위나 추가 문자를 포함하면 변환 오류가 발생합니다.
참고: 숫자의변환은 사용자의 로케일과 관계없이 기본 C 로케일에서 수행됩니다. 숫자와 문자열 간의 로케일 인식 변환을 수행하려면 QLocale 을 사용하십시오.
이 함수는 앞뒤의 공백을 무시합니다.
이 함수는 Qt 6.3에서 도입되었습니다.
[since 6.3] int QByteArrayView::toInt(bool *ok = nullptr, int base = 10) const
이 바이트 배열 뷰를 기본 기수 base(기본값은 10)를 사용하여 int 로 변환한 값을 반환합니다. 기수 0 및 2부터 36까지 지원되며, 9를 초과하는 숫자는 문자로 표기됩니다. A는 10, B는 11을 의미하며, 이와 같은 방식으로 이어집니다.
base 가 0인 경우, 다음 규칙에 따라 기수가 자동으로 결정됩니다. 바이트 배열 뷰가 "0x"로 시작하면 나머지 부분은 16진수(기수 16)로 읽힙니다. 그렇지 않은 경우, "0"으로 시작하면 나머지 부분은 8진수(기수 8)로 읽히고, 그 외의 경우에는 10진수로 읽힙니다.
변환에 실패하면 0을 반환합니다.
ok 가 ` nullptr`가 아닌 경우, *ok 를 ` false`로 설정하여 실패를 알리고, *ok 를 ` 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참고: 숫자의변환은 사용자의 로케일과 관계없이 기본 C 로케일에서 수행됩니다. 숫자와 문자열 간의 로케일 인식 변환을 수행하려면 ` QLocale `를 사용하십시오.
이 함수는 Qt 6.3에서 도입되었습니다.
[since 6.3] long QByteArrayView::toLong(bool *ok = nullptr, int base = 10) const
이 바이트 배열 뷰를 ` long ` 정수로 변환한 값을 반환하며, 이때 기수 ` base`(기본값은 10)을 사용합니다. 기수 0과 2부터 36까지 지원되며, 9를 초과하는 숫자는 문자로 표기됩니다. A는 10, B는 11인 식입니다.
base 가 0인 경우, 다음 규칙에 따라 기수가 자동으로 결정됩니다. 바이트 배열 뷰가 "0x"로 시작하면 나머지 부분은 16진수(기수 16)로 읽힙니다. 그렇지 않은 경우, "0"으로 시작하면 나머지 부분은 8진수(기수 8)로 읽히고, 그 외의 경우에는 10진수로 읽힙니다.
변환에 실패하면 0을 반환합니다.
ok 가 ` nullptr`가 아닌 경우, 실패 시 *`ok `를 ` false`로 설정하여 보고하고, 성공 시 *`ok `를 ` 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참고: 숫자의변환은 사용자의 로케일과 관계없이 기본 C 로케일에서 수행됩니다. 숫자와 문자열 간의 로케일 인식 변환을 수행하려면 QLocale 를 사용하십시오.
이 함수는 Qt 6.3에서 도입되었습니다.
[since 6.3] qlonglong QByteArrayView::toLongLong(bool *ok = nullptr, int base = 10) const
이 바이트 배열 뷰를 기본값인 10진수 base 를 사용하여 long long 로 변환한 값을 반환합니다. 0진수 및 2진수부터 36진수까지 지원되며, 9를 초과하는 숫자는 문자로 표기됩니다(A는 10, B는 11 등).
base 가 0인 경우, 다음 규칙에 따라 기수가 자동으로 결정됩니다. 바이트 배열 뷰가 "0x"로 시작하면 나머지 부분은 16진수(기수 16)로 읽힙니다. 그렇지 않은 경우, "0"으로 시작하면 나머지 부분은 8진수(기수 8)로 읽히고, 그 외의 경우에는 10진수로 읽힙니다.
변환에 실패하면 0을 반환합니다.
ok 가 nullptr 가 아닌 경우, *ok 를 false 로 설정하여 실패를 보고하고, *ok 를 true 로 설정하여 성공을 보고합니다.
참고: 숫자의변환은 사용자의 로케일과 관계없이 기본 C 로케일에서 수행됩니다. 숫자와 문자열 간의 로케일 인식 변환을 수행하려면 QLocale 를 사용하십시오.
이 함수는 Qt 6.3에서 도입되었습니다.
[since 6.3] short QByteArrayView::toShort(bool *ok = nullptr, int base = 10) const
이 바이트 배열 뷰를 기본 기수 base(기본값은 10)를 사용하여 short 로 변환한 값을 반환합니다. 기수 0과 2부터 36까지 지원되며, 9를 초과하는 숫자는 문자로 표기됩니다(A는 10, B는 11 등의 순서).
base 가 0인 경우, 다음 규칙에 따라 기수가 자동으로 결정됩니다. 바이트 배열 뷰가 "0x"로 시작하면 나머지 부분은 16진수(기수 16)로 읽힙니다. 그렇지 않은 경우, "0"으로 시작하면 나머지 부분은 8진수(기수 8)로 읽히고, 그 외의 경우에는 10진수로 읽힙니다.
변환에 실패하면 0을 반환합니다.
ok 가 nullptr 가 아닌 경우, *ok 를 false 로 설정하여 실패를 알리고, *ok 를 true 로 설정하여 성공을 알립니다.
참고: 숫자의변환은 사용자의 로케일과 관계없이 기본 C 로케일에서 수행됩니다. 숫자와 문자열 간의 로케일 인식 변환을 수행하려면 ` QLocale `를 사용하십시오.
이 함수는 Qt 6.3에서 도입되었습니다.
[since 6.3] uint QByteArrayView::toUInt(bool *ok = nullptr, int base = 10) const
이 바이트 배열 뷰를 기본 기수 base(기본값은 10)을 사용하여 unsigned int 로 변환한 값을 반환합니다. 기수 0과 2부터 36까지 지원되며, 9를 초과하는 숫자는 문자로 표기됩니다(A는 10, B는 11 등).
base 가 0인 경우, 다음 규칙에 따라 기수가 자동으로 결정됩니다. 바이트 배열 뷰가 "0x"로 시작하면 나머지 부분은 16진수(기수 16)로 해석됩니다. 그렇지 않은 경우, "0"으로 시작하면 나머지 부분은 8진수(기수 8)로 읽히고, 그 외의 경우에는 10진수로 읽힙니다.
변환에 실패하면 0을 반환합니다.
ok 가 nullptr 이 아닌 경우, *ok 를 false 로 설정하여 실패를 알리고, *ok 를 true 로 설정하여 성공을 알립니다.
참고: 숫자의변환은 사용자의 로케일과 관계없이 기본 C 로케일에서 수행됩니다. 숫자와 문자열 간의 로케일 인식 변환을 수행하려면 ` QLocale `를 사용하십시오.
이 함수는 Qt 6.3에서 도입되었습니다.
[since 6.3] ulong QByteArrayView::toULong(bool *ok = nullptr, int base = 10) const
이 바이트 배열 뷰를 기본 기수 base(기본값은 10)을 사용하여 unsigned long int 로 변환한 값을 반환합니다. 기수 0 및 2부터 36까지 지원되며, 9를 초과하는 숫자는 문자로 표기됩니다(A는 10, B는 11 등).
base 가 0인 경우, 다음 규칙에 따라 기수가 자동으로 결정됩니다. 바이트 배열 뷰가 "0x"로 시작하면 나머지 부분은 16진수(기수 16)로 해석됩니다. 그렇지 않은 경우, "0"으로 시작하면 나머지 부분은 8진수(기수 8)로 읽히고, 그 외의 경우에는 10진수로 읽힙니다.
변환에 실패하면 0을 반환합니다.
ok 가 nullptr 가 아닌 경우, *ok 을 false 로 설정하여 실패를 알리고, *ok 을 true 로 설정하여 성공을 알립니다.
참고: 숫자의변환은 사용자의 로케일과 관계없이 기본 C 로케일에서 수행됩니다. 숫자와 문자열 간의 로케일 인식 변환을 수행하려면 ` QLocale `를 사용하십시오.
이 함수는 Qt 6.3에서 도입되었습니다.
[since 6.3] qulonglong QByteArrayView::toULongLong(bool *ok = nullptr, int base = 10) const
이 바이트 배열 뷰를 기본 기수( base, 기본값은 10)를 사용하여 unsigned long long 로 변환한 결과를 반환합니다. 기수 0 및 2부터 36까지 지원되며, 9를 초과하는 숫자는 문자로 표시됩니다(A는 10, B는 11 등).
base 가 0인 경우, 다음 규칙에 따라 기수가 자동으로 결정됩니다. 바이트 배열 뷰가 "0x"로 시작하면 나머지 부분은 16진수(기수 16)로 읽힙니다; 그렇지 않은 경우, "0"으로 시작하면 나머지 부분은 8진수(기수 8)로 읽히고, 그 외의 경우에는 10진수로 읽힙니다.
변환에 실패하면 0을 반환합니다.
ok 가 ` nullptr`가 아닌 경우, *ok 를 ` false`로 설정하여 실패를 알리고, *ok 를 ` true`로 설정하여 성공을 알립니다.
참고: 숫자변환은 사용자의 로케일과 관계없이 기본 C 로케일에서 수행됩니다. 숫자와 문자열 간의 로케일 인식 변환을 수행하려면 ` QLocale `를 사용하십시오.
이 함수는 Qt 6.3에서 도입되었습니다.
[since 6.3] ushort QByteArrayView::toUShort(bool *ok = nullptr, int base = 10) const
이 바이트 배열 뷰를 기본 기수 base(기본값은 10)를 사용하여 unsigned short 로 변환한 값을 반환합니다. 기수 0과 2부터 36까지 지원되며, 9를 초과하는 숫자는 문자로 표기됩니다. A는 10, B는 11을 나타내는 식입니다.
base 가 0인 경우, 다음 규칙에 따라 기수가 자동으로 결정됩니다. 바이트 배열 뷰가 "0x"로 시작하면 나머지 부분은 16진수(기수 16)로 읽히며, 그렇지 않은 경우, "0"으로 시작하면 나머지 부분은 8진수(기수 8)로 읽히고, 그 외의 경우에는 10진수로 읽힙니다.
변환에 실패하면 0을 반환합니다.
ok 가 nullptr 가 아닌 경우, *ok 를 false 로 설정하여 실패를 알리고, *ok 를 true 로 설정하여 성공을 알립니다.
참고: 숫자의변환은 사용자의 로케일과 관계없이 기본 C 로케일에서 수행됩니다. 숫자와 문자열 간의 로케일 인식 변환을 수행하려면 ` QLocale `를 사용하십시오.
이 함수는 Qt 6.3에서 도입되었습니다.
[noexcept, since 6.3] QByteArrayView QByteArrayView::trimmed() const
이 바이트 배열 뷰의 복사본을 반환하며, 시작과 끝 부분의 공백 문자가 제거됩니다.
공백 문자는 C 로캘에서 표준 C++ ` isspace() ` 함수가 ` true `를 반환하는 문자들을 말하며, 이는 ASCII 문자 중 탭 '\t', 줄 바꿈 '\n', 캐리지 리턴 '\r', 수직 탭 '\v', 양식 바꿈 '\f' 및 공백 ' '입니다.
이 함수는 Qt 6.3에서 도입되었습니다.
QChar::SpecialCharacter 및 Spacing Characters도 참조하십시오 .
[constexpr] void QByteArrayView::truncate(qsizetype length)
이 바이트 배열 뷰를 길이 length 로 잘라냅니다.
*this = first(length) 와 동일합니다.
참고: ` length ` < 0이거나 ` length ` > ` size`()인 경우동작이 정의되지 않습니다.
first(), last(), sliced(), chopped() 및 chop()도 참조하십시오 .
[constexpr noexcept, since 6.7] QByteArrayView::operator std::string_view() const
이 QByteArrayView 객체를 std::string_view 객체로 변환합니다. 반환된 뷰는 이 뷰와 동일한 데이터 포인터와 길이를 갖게 됩니다.
이 함수는 Qt 6.7에서 도입되었습니다.
[constexpr] char QByteArrayView::operator[](qsizetype n) const
이 바이트 배열 뷰에서 n 위치에 있는 문자를 반환합니다.
n 가 음수이거나 size()보다 작지 않은 경우 동작이 정의되지 않습니다.
관련 비회원
[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)
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.