Size: a a a

2020 February 17

SE

Suigintou45 E13 in ru_ASUTP
или утф16?
источник

В

Витька Корнеев in ru_ASUTP
Suigintou45 E13
или утф16?
Тип данных string — это последовательность, содержащая ни одного или любое число знаков Юникода.
источник

SE

Suigintou45 E13 in ru_ASUTP
Represents text as a sequence of UTF-16 code units.
источник

В

Витька Корнеев in ru_ASUTP
правильнее выразится-юникод
источник

В

Витька Корнеев in ru_ASUTP
короче нормально должны любые языки работать, но если немчурские кодеры не использовали эту возможность платформы а изобрели велосипед....
источник

KW

Konstantin Wilhelm in ru_ASUTP
Витька Корнеев
короче нормально должны любые языки работать, но если немчурские кодеры не использовали эту возможность платформы а изобрели велосипед....
А любая панель она тоже под ДотНет платформой живет? Я вон много видел под ВинСЕ
источник

DD

Davydov Denis in ru_ASUTP
Konstantin Wilhelm
По-моему русский язык вообще ни в одной ОС нормально не поддерживается, вечно с ним проблемы, что в линуксе, что в венде. В венде вообще его поддержка через задницу сделана. Даёшь русскую ОСь в народ, ResctOS наше фсё!
не правда ваша, в линуксе как на юникод перешли, проблемы пропали, там русский или есть нормальный, или его вообще нет, последний раз кракозябры в линуксе я лет 10 назад видал
источник

KW

Konstantin Wilhelm in ru_ASUTP
Davydov Denis
не правда ваша, в линуксе как на юникод перешли, проблемы пропали, там русский или есть нормальный, или его вообще нет, последний раз кракозябры в линуксе я лет 10 назад видал
Перешли да не все, мне ещё и кои-8 попадается время от времени
источник

DD

Davydov Denis in ru_ASUTP
Konstantin Wilhelm
Перешли да не все, мне ещё и кои-8 попадается время от времени
ну да, бывает в каком-нибудь дебиановском дистре, где эти 10 лет не обновляли софт из-за его "стабильности", или в очередном отечественном дистрибутиве, основанном на пакетной базе еще чего-то более древнем... но в современных вроде такая проблема уже давно пропала
источник

SE

Suigintou45 E13 in ru_ASUTP
Davydov Denis
не правда ваша, в линуксе как на юникод перешли, проблемы пропали, там русский или есть нормальный, или его вообще нет, последний раз кракозябры в линуксе я лет 10 назад видал
перейти мало, надо ещё отвыкнуть от привычки пробегаться по utf-строке однобайтовым добром из string.h
источник

DD

Davydov Denis in ru_ASUTP
Suigintou45 E13
перейти мало, надо ещё отвыкнуть от привычки пробегаться по utf-строке однобайтовым добром из string.h
так там char давно уже не однобайтовый, насколько я знаю...
источник

DD

Davydov Denis in ru_ASUTP
[tux@nb tmp]$ cat ./test.c
#include <stdio.h>
#include <string.h>

int main() {
 char *str = "привет";
 printf("%d, %d\n", strlen(str), sizeof(str));
 return 0;
}
[tux@nb tmp]$ gcc ./test.c -o ./test
[tux@nb tmp]$ ./test
12, 8
источник

KW

Konstantin Wilhelm in ru_ASUTP
Davydov Denis
[tux@nb tmp]$ cat ./test.c
#include <stdio.h>
#include <string.h>

int main() {
 char *str = "привет";
 printf("%d, %d\n", strlen(str), sizeof(str));
 return 0;
}
[tux@nb tmp]$ gcc ./test.c -o ./test
[tux@nb tmp]$ ./test
12, 8
Что-то я цифры 12,8 не совсем правильно интерпретирую
источник

DD

Davydov Denis in ru_ASUTP
Konstantin Wilhelm
Что-то я цифры 12,8 не совсем правильно интерпретирую
я если честно тоже :)
источник

DD

Davydov Denis in ru_ASUTP
гуглю в чем подвох :)
источник

DD

Davydov Denis in ru_ASUTP
ага, все же char однобайтовый, для совместимости так и оставили, не трогали его, а для "широких кодировок" ввели тип wchar_t и функции для него... не знал, не работал с лусским текстом из сей...
источник

DD

Davydov Denis in ru_ASUTP
[tux@nb tmp]$ cat ./test.c
#include <stdio.h>
#include <wchar.h>

int main() {
 wchar_t *str = L"привет";
 printf("%d, %d\n", wcslen(str), sizeof(str));
 return 0;
}
[tux@nb tmp]$ gcc ./test.c -o ./test && ./test
6, 8
источник

DD

Davydov Denis in ru_ASUTP
а 8 - это я туплю sizeof просто возвращает размер указателя, в 64-битной системе он 8 байт...
источник

DD

Davydov Denis in ru_ASUTP
а strlen из string.h, действительно работает только с байтами, их и считает в той строке
источник

KW

Konstantin Wilhelm in ru_ASUTP
А теперь попробуй смешанную строку из кириллицы и латиницы
источник