, Когда Вы хотите сохранить широкие символы в Вашей строке. wide
зависит от реализации. Значения по умолчанию Visual C++ к 16 битам, если я помню правильно, в то время как значения по умолчанию GCC в зависимости от цели. Это 32 бита длиной здесь. Обратите внимание, что wchar_t (тип широкого символа) не имеет никакого отношения к unicode. Просто гарантируется, что это может сохранить всех членов самого большого набора символов что поддержка внедрения его локалями, и по крайней мере настолько же долго как символ. Вы можете хранилище строки unicode, прекрасные в std::string
использование utf-8
кодирование также. Но это не поймет значение unicode кодовых точек. Так str.size()
не даст Вам количество логических символов в Вашей строке, но просто сумму символа или wchar_t элементов, сохраненных в этом string/wstring. По этой причине gtk/glib люди обертки C++ разработали Glib::ustring
класс, который может обработать utf-8.
, Если Ваш wchar_t 32 бита длиной, то можно использовать utf-32
в качестве кодирования unicode, и можно сохранить , и дескриптор unicode строки с помощью фиксированного (utf-32 фиксированная длина), кодирование. Это означает Ваш wstring's s.size()
, функция будет тогда , возвращают правильную сумму wchar_t элементов и логические символы.
Попытайтесь добавить как услуга в браузере Konqueror дополнение youtube-dl. Можно найти его в Konqueror - Настройки - Настраивают Konqueror - Сервисы, и как только Вы добираетесь, здесь нажимают кнопку Download New Services, и ищут youtube-dl или видео-dl пакет и устанавливают его.