std::text_encoding::comp-name
static constexpr bool /*comp-name*/( std::string_view a, std::string_view b ); | (с C++26) (только для иллюстрации*) |
Сравнивает две строки a и b, закодированные в обычной кодировке литералов, согласно правилам сопоставления псевдонимов наборов символов Unicode.
Две строки считаются равными при сравнении слева направо после выполнения следующих действий:
- удаления всех не буквенно-цифровых символов,
- приведения всех букв к одному регистру и
- удаления всех отдельных последовательностей символов
'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.
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/text/text_encoding/comp-name