Форум программистов «Весельчак У» |
|
Начало | Помощь | Поиск | Календарь | Почта | Войти | Регистрация |
21
: 08-02-2024 09:25
|
||
Автор Boriska - Последний ответ от RXL | ||
Символ в UTF-8 — это последовательность, от 1 до 4 байт.
|
22
: 08-02-2024 09:25
|
||
Автор Boriska - Последний ответ от Алексей++ | ||
Boriska, там логин какой-то просят
|
23
: 08-02-2024 09:03
|
||
Автор Boriska - Последний ответ от Boriska | ||
sizeof(char) = 1, массив из двух char должен быть размером 2, но вот что мы видим, хотя sizeof(char) = 1
https://drive.google.com/file/d/16NX_l3bEzo4psVqzKloxIr1nQQpocNmu/view?usp=sharing |
24
: 08-02-2024 03:28
|
||
Автор Boriska - Последний ответ от Алексей++ | ||
Ochkarik, CHAR - это студийный алиас (то есть - вообще не относится к стандарту). Размер его в байтах равен sizeof(CHAR)
|
25
: 07-02-2024 21:08
|
||
Автор Boriska - Последний ответ от Ochkarik | ||
Алексей++, я
"CHAR_BIT - number of bits in a byte"... а сколько тогда в CHAR - байт?) как-то продолжение беседы не увидел сразу) |
26
: 04-02-2024 12:17
|
||
Автор Boriska - Последний ответ от Boriska | ||
UTF8
|
27
: 04-02-2024 07:50
|
||
Автор Boriska - Последний ответ от Алексей++ | ||
Boriska, казалось бы, при чём тут шарп
а сам файл в какой кодировке то, кстати ? |
28
: 04-02-2024 07:46
|
||
Автор Boriska - Последний ответ от Boriska | ||
вот из С#
char a = 'A'; int b = sizeof(a); 'identifier' does not have a predefined size, therefore sizeof can only be used in an unsafe context Without unsafe context, the sizeof operator can only be used for types whose size is a compile-time constant. If you are getting this error, use an unsafe context. The following example generates CS0233: Возможно там было что то из этой оперы, но по идее бред. Надо будет откатить и все пересмотреть. |
29
: 04-02-2024 07:33
|
||
Автор Boriska - Последний ответ от Boriska | ||
вот я и попытался съэкономить
Код: code_page_ru['А'] = 'A'; //'А'0x90 потом глядь, а 'A' двухбайтовый сейчас это выглядит вот так, все работает но осадочек остался Код: char _code_page_ru[256] = { |
30
: 03-02-2024 23:44
|
||
Автор Boriska - Последний ответ от RXL | ||
Т.е. нужны константы и строки в 8-битной кодировке, совместимой с используемым шрифтом.
С константами все просто: Код: (C) enum { // cp866 char_ru_A = 0x80, char_ru_B = 0x81, // ... }; code_page_ru[char_ru_A] = ...; Строки нужно перекодировать перед компиляцией. Например, объявить строки extern и поместить в один модуль не .c, а с каким-то другим расширением, напр. .cstr, и прописать для него в Makefile правила сборки, где будет создан файл .c в нужной кодировке. |