Найти конец C строки
От: TheBeginner  
Дата: 25.01.24 06:44
Оценка:
Нужно что-то типа strlen, которая определяет длину строки в байтах но для разных кодировок (список ниже).
Кодировка конкретной строки известна.
С однобайтовыми, utf8 все просто, первый нулевой байт — конец строки. Для utf16/utf32 тоже все понятно.
С остальными кодировками так понимаю можно промахнуться просто найдя первый нулевой байт или нет?
Все это желательно без библиотек и максимально быстро.

UTF-8
UTF-16BE
UTF-16LE
UTF-32BE
UTF-32LE
Japanese Shift_JIS
Japanese ISO-2022-JP
Simplified Chinese ISO-2022-CN
Korean ISO-2022-KR
Chinese GB18030
Traditional Chinese Big5
Japanese EUC-JP
Korean EUC-KR
Western Europe ISO-8859-1 (Danish, Dutch, English, French, German, Italian, Norwegian, Portuguese, Swedish)
Eastern Europe ISO-8859-2 (Czech, Hungarian, Polish, Romanian)
Cyrillic ISO-8859-5 (Russian)
Arabic ISO-8859-6
Greek ISO-8859-7
Hebrew ISO-8859-8
Turkish ISO-8859-9
Eastern Europe windows-1250 (Czech, Hungarian, Polish, Romanian)
Cyrillic windows-1251 (Russian)
Western Europe windows — 1252/WinLatin 1 (Danish, Dutch, English, French, German, Italian, Norwegian, Portuguese, Swedish)
Greek windows-1253
Turkish windows-1254
Hebrew windows-1255
Arabic windows-1256
Cyrillic KOI8-R (Russian)
IBM420 Arabic
Hebrew IBM424
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.