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는 암시적으로 공유되는 클래스 및 문자열 데이터용 클래스의 일부입니다.
이 클래스는 매우 유사합니다.
이 클래스는 QByteArray 및 const char *와 매우 유사합니다.
이 클래스는 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() | |
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) std::string_view | 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는 참조-간 변환이 아닌 값으로 전달해야 합니다:
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과의 호환성을 위해 제공됩니다.
멤버 함수 문서
[noexcept]
bool QByteArrayView::startsWith(QByteArrayView bv) const
[constexpr noexcept]
bool QByteArrayView::startsWith(char ch) const
바이트 배열 보기가 바이트 배열 보기 bv 또는 문자 ch 로 시작하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
endsWith()도 참조하세요 .
[noexcept]
bool QByteArrayView::endsWith(QByteArrayView bv) const
[constexpr noexcept]
bool QByteArrayView::endsWith(char ch) const
바이트 배열 보기가 바이트 배열 보기 bv 또는 문자 ch 로 끝나면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
startsWith()도 참조하세요 .
[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()도 참조하세요 .
[noexcept]
bool QByteArrayView::contains(QByteArrayView bv) const
[noexcept]
bool QByteArrayView::contains(char ch) const
이 바이트 배열 보기에 bv 또는 ch 문자로 조회한 바이트 시퀀스가 포함되어 있으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
indexOf() 및 lastIndexOf()도 참조하세요 .
[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 을 검색하는 경우 데이터 끝에 있는 일치 항목은 음수 from 으로 검색에서 제외됩니다. -1
은 일반적으로 뷰의 끝에서 검색하는 것으로 간주되지만, 끝에 있는 일치 항목은 마지막 문자 다음에 있으므로 제외됩니다. 이러한 마지막 빈 일치 항목을 포함하려면 from 에 양수 값을 지정하거나 from 매개 변수를 완전히 생략하세요.
indexOf() 및 contains()도 참조하세요 .
[constexpr noexcept]
QByteArrayView::QByteArrayView()
널 바이트 배열 뷰를 구축합니다.
isNull()도 참조하세요 .
[constexpr noexcept]
template <typename Byte> QByteArrayView::QByteArrayView(const Byte *data)
data 에 바이트 배열 뷰를 구축합니다. 길이는 첫 번째 Byte(0)
을 검색하여 결정됩니다.
data 는 이 바이트 배열 보기 객체의 수명 기간 동안 유효해야 합니다.
nullptr
을 data 으로 전달하는 것은 안전하며 널 바이트 배열 뷰가 생성됩니다.
이 생성자는 data 가 배열이 아니고 Byte
가 호환 가능한 바이트 유형인 경우에만 과부하 해결에 참여합니다.
Compatible Byte Types 를참조하세요 .
[constexpr noexcept]
template <typename Container, QByteArrayView::if_compatible_container<Container> = true> 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()
.
[constexpr noexcept]
template <size_t Size> QByteArrayView::QByteArrayView(const char (&)[Size] data)
문자 배열 data 에 바이트 배열 보기를 구축합니다. 이 뷰는 첫 번째 '\0'
또는 Size
중 먼저 오는 것까지 배열을 포함합니다. 전체 배열이 필요한 경우 fromArray()를 대신 사용합니다.
data 는 이 바이트 배열 뷰 객체의 수명 기간 동안 유효해야 합니다.
참고: 이 생성자는 문자 배열 리터럴에만 사용할 수 있습니다. 그 이유는 "충분히 큰" 배열을 미리 정의하지만 미리 할당된 공간의 일부만 사용하는 C 라이브러리와의 호환성을 위해서입니다. 암시적 생성자 오버로드에서 이를 직관적인 방식으로 지원하려면 첫 번째 char(0)
에서 멈춰야 합니다. 이는 문자 배열에는 논리적으로 맞지만 std::byte
배열에는 맞지 않습니다.
fromArray 를참조하세요 .
[constexpr noexcept]
QByteArrayView::QByteArrayView(std::nullptr_t)
널 바이트 배열 뷰를 구축합니다.
isNull()도 참조하세요 .
[constexpr]
template <typename Byte, QByteArrayView::if_compatible_byte<Byte> = true> 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, QByteArrayView::if_compatible_byte<Byte> = true> QByteArrayView::QByteArrayView(const Byte *data, qsizetype len)
길이 len 의 바이트 배열 뷰를 data 에 구축합니다.
[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
바이트 배열 보기에서 첫 번째 바이트를 가리키는 상수 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
바이트 배열 보기에서 첫 번째 바이트에 대한 상수 char
포인터를 반환합니다.
참고: 반환값으로 표시되는 문자 배열은 널로 끝나는 것이 보장되지 않습니다. 반환된 포인터는 이 바이트 배열 보기의 size()보다 작은 인덱스에서 바이트에 액세스하는 데에만 안전하게 사용할 수 있습니다.
data(), begin() 및 end()도 참조하세요 .
[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
바이트 배열 보기에서 첫 번째 바이트에 대한 상수 char
포인터를 반환합니다.
참고: 반환값으로 표시되는 문자 배열은 널로 끝나는 것이 보장되지 않습니다. 반환된 포인터는 이 바이트 배열 보기의 size()보다 작은 인덱스에서 바이트에 액세스하는 데에만 안전하게 사용할 수 있습니다.
[constexpr noexcept]
bool QByteArrayView::empty() const
이 바이트 배열 뷰가 비어 있는 경우 true
를 반환합니다(즉, size() == 0
).
이 함수는 STL 호환성을 위해 제공됩니다.
isEmpty(), isNull() 및 size()도 참조하세요 .
[constexpr noexcept]
QByteArrayView::const_iterator QByteArrayView::end() const
바이트 배열 보기에서 마지막 바이트 바로 뒤를 가리키는 상수 STL 스타일 이터레이터를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
begin(), cend() 및 rend()도 참조하세요 .
[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 (&)[Size] data)
배열 리터럴 data 에 바이트 배열 뷰를 구축합니다. 이 뷰는 전체 배열을 포함합니다. 여기에는 char
배열 리터럴의 후행 널 종결자가 포함됩니다. 뷰에 널 종결자를 포함하지 않으려면 끝 부분에 있는 것이 확실할 때 chop()로 제거하면 됩니다. 또는 문자열 배열 리터럴을 받는 생성자 오버로드를 사용하여 데이터의 첫 번째 널 종결자를 포함하지 않고 뷰를 만들 수 있습니다.
이 함수는 호환되는 바이트 유형의 모든 배열 리터럴에서 작동합니다.
Compatible Byte Types 및 QByteArrayView 을참조하세요 .
[constexpr]
char QByteArrayView::front() const
바이트 배열 보기에서 첫 번째 바이트를 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
경고: 빈 바이트 배열 보기에서 이 함수를 호출하면 정의되지 않은 동작이 발생합니다.
back()도 참조하세요 .
[constexpr noexcept]
bool QByteArrayView::isEmpty() const
이 바이트 배열 뷰가 비어 있는 경우 true
를 반환합니다(즉, size() == 0
).
empty(), isNull() 및 size()도 참조하세요 .
[constexpr noexcept]
bool QByteArrayView::isNull() const
이 바이트 배열 뷰가 null인 경우 true
, 즉 data() == nullptr
을 반환합니다.
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, 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
바이트 배열 보기에서 첫 번째 바이트를 가리키는 상수 STL 스타일 역방향 이터레이터를 역순으로 반환합니다.
이 함수는 STL 호환성을 위해 제공됩니다.
rend(), crbegin() 및 begin()도 참조하세요 .
[constexpr noexcept]
QByteArrayView::const_reverse_iterator QByteArrayView::rend() const
바이트 배열 보기에서 마지막 바이트의 과거 1바이트를 역순으로 가리키는 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()도 참조하세요 .
QByteArray QByteArrayView::toByteArray() const
이 바이트 배열 뷰 데이터의 딥 카피를 QByteArray 로 반환합니다.
반환 값은 이 바이트 배열 뷰가 널인 경우에만 널 QByteArray 이 됩니다.
[since 6.3]
double QByteArrayView::toDouble(bool *ok = nullptr) const
double
값으로 변환된 이 바이트 배열 보기를 반환합니다.
변환이 오버플로되면 무한대를 반환하고, 다른 이유(예: 언더플로)로 변환에 실패하면 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 = str.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
기본값은 10인 기본값 base 을 사용하여 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
기본값은 10인 기본값 base 을 사용하여 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
로 설정하여 보고합니다.
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
기본값은 10인 기본값 base 을 사용하여 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
기본값은 10인 기본값 base 을 사용하여 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
기본값은 10인 기본값 base 을 사용하여 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
기본값은 10인 기본값 base 을 사용하여 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
기본값은 10인 기본값 base 을 사용하여 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++ isspace()
함수가 C 로캘에서 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]
std::string_view 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 에 대한 비교 연산자 .
© 2025 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.