std::text_encoding:: comp-name
From cppreference.net
<
cpp
|
text
|
text encoding
|
static
constexpr
bool
/*comp-name*/
(
std::
string_view
a,
std::
string_view
b
)
;
|
(начиная с C++26)
( только для демонстрации* ) |
|
Сравнивает две строки a и b в обычной литеральной кодировке согласно правилам Unicode Charset Alias Matching .
Две строки считаются равными при сравнении слева направо после:
- удаление всех не-буквенно-цифровых символов,
- приведение всех букв к одному регистру, и
- удаление любых изолированных последовательностей символов '0' , которые не следуют непосредственно за числовым префиксом. Числовой префикс состоит из ненулевой цифры ( '1' до '9' ), за которой может следовать один или более не-буквенно-цифровых символов.
Вот следующие примеры:
static_assert(/*comp-name*/("UTF-8", "utf8") == true); static_assert(/*comp-name*/("u.t.f-008", "utf8") == true); static_assert(/*comp-name*/("ISO-8859-1", "iso88591") == true); static_assert(/*comp-name*/("ut8", "utf8") == false); static_assert(/*comp-name*/("utf-80", "utf8") == false);
Параметры
| a, b | - | строки для сравнения |
Возвращаемое значение
true если две строки равны при сравнении, как описано выше; false в противном случае.