Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: так точнее
Старый 13.04.2016, 13:21   #231
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

проблема заключается в применении U-8.

пускай весь текст состоит из символов в диапазоне

00010000-001FFFFF 4
00200000-03FFFFFF 5
04000000-7FFFFFFF 6

где тут выигрыш в экономии байт?

___________________________________ _

как 6 байт U-8. преобразуются в 1 байт для типа char
RAFA91 вне форума
Старый 13.04.2016, 13:24   #232
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
проблема заключается в применении U-8.

пускай весь текст состоит из символов в диапазоне

00010000-001FFFFF 4
00200000-03FFFFFF 5
04000000-7FFFFFFF 6

где тут выигрыш в экономии байт?
это исключительный случай, в нем выгоды нет.
Цитата:
Сообщение от RAFA91 Посмотреть сообщение
как 6 байт U-8. преобразуются в 1 байт для типа char
никак, они и не должны влезать в один байт.
так же и в два байта тоже(UTF-16 wchar_t)
там и сам текст в формате UTF-16 может иметь символы что займут два wchar_t.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 13.04.2016, 13:35   #233
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

зачем тогда мне тут вешали лапшу про сишные функции ?

если у меня символы лежат в диапазоне. 20 штук.

00010000-001FFFFF 4

20*4 = 80 байт. это в U-8.

как оно преобразуется в 20 байт для типа char
RAFA91 вне форума
Старый 13.04.2016, 13:41   #234
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
зачем тогда мне тут вешали лапшу про сишные функции ?

если у меня символы лежат в диапазоне. 20 штук.

00010000-001FFFFF 4

20*4 = 80 байт. это в U-8.

как оно преобразуется в 20 байт для типа char
никак, и не должно никак.

это вы эту лапшу вешать вообще-то начали.
Цитата:
ASCII функции принимают тип char.
какая функция принимает char?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 13.04.2016, 13:49   #235
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

strlen. указатель типа char

char это будет U-8. поделенный на к-во байт U-8 ?
RAFA91 вне форума
Старый 13.04.2016, 13:58   #236
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
strlen. указатель типа char

char это будет U-8. поделенный на к-во байт U-8 ?
так он принимает char*, а не char.
strlen вернет размер строки в байтах, а не в символах.
размер в символах получить не сложно в принципе, но вот есть ли в коробке это, я не помню.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 13.04.2016, 14:01   #237
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

strlen вернет размер строки в байтах, а не в символах.

в байтах юникода или U-8
RAFA91 вне форума
Старый 13.04.2016, 14:06   #238
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Байты они и в Африке байты.

Более точно она вернет количество char сколько нужно для хранения строки(без учета терминального нуля)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 13.04.2016, 14:08   #239
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Байты они и в Африке байты.
так байты чьи юникода или U-8

или может анси.

00010000-001FFFFF 4
00200000-03FFFFFF 5
04000000-7FFFFFFF 6


байты U-8 справа
RAFA91 вне форума
Старый 13.04.2016, 14:09   #240
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

байт и там, и там одинаковы - в большинстве случаев 8 бит
p51x вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои фантазии про С++11 RAFA91 Общие вопросы C/C++ 265 18.07.2016 15:15
Проблема кодировок Anarios JavaScript, Ajax 2 25.12.2011 11:06
Стандартные средства = бесконечный полет фантазии. Alex Cones Софт 2 27.07.2009 17:10
Проблема кодировок!!! chekanoff Общие вопросы Delphi 4 04.12.2007 00:03