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

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

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

Восстановить пароль
Повторная активизация e-mail

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

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

все эти иероглифы имеются в 16 разрядной версии.

зачем тогда есть два стрроковых класса ?

один под wchar_t другой под char ?

что сразу нельзя было сделать char 4 байтный ?

_______________________

видать раньше об этом никто не думал - так и прижилось.

с потоковыми классами аналогичная проблема.

_______________________


в дополнении. когда в ++ появился wchar_t ?
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Юникод/кодировки всегда такие были.
какие такие ? 4 байта ?
RAFA91 вне форума
Старый 08.04.2016, 14:55   #182
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не все, уже ж давали ссылку
http://unicode-table.com/ru/#lycian

Кстати, в вашем любом CLI System.Char это тоже только 1 пара, а не целый символ.
https://msdn.microsoft.com/en-us/lib...vs.110%29.aspx

[too]using System;

namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string s = "😉";

Console.WriteLine(s.Length); // 2
}
}
}[/too]
Цитата:
что сразу нельзя было сделать char 4 байтный ?
Ну есть UTF-32 и char32_t для него.
А так большинству символов не надо 4 байта, зачем тратить в 2 раза больше памяти?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 08.04.2016 в 15:01.
Alex11223 вне форума
Старый 08.04.2016, 15:07   #183
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Не все, уже ж давали ссылку
http://unicode-table.com/ru/#lycian
вообще это я ее первый выложил для демонстрации. только там 16 разрядов.
Цитата:
Сообщение от Alex11223 Посмотреть сообщение

Кстати, в вашем любом CLI System.
там есть String ^ который адаптирован под юникодные символы.

Последний раз редактировалось RAFA91; 08.04.2016 в 15:10.
RAFA91 вне форума
Старый 08.04.2016, 15:10   #184
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Откройте ссылку и подождите пока загрузится.

Или список справа откройте.

Цитата:
там есть String ^ который адаптирован под юникодные символы.
Речь про 4 байта была. В System.String символы не по 4 байта хранятся и даже Length для "4-байтного" символа вернет 2, пример выше.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 08.04.2016 в 15:13.
Alex11223 вне форума
Старый 08.04.2016, 15:18   #185
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Код:
]int main(array<System::String ^> ^args)
{
	String ^s = gcnew String (L"Ы"); 
	Console::WriteLine(s->Length);
	Console::ReadLine();
    return 0;
}
на экране 1
RAFA91 вне форума
Старый 08.04.2016, 15:19   #186
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну и? Разницы между Ы и 😉 или например http://unicode-table.com/ru/blocks/old-permic/ не видите?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 08.04.2016 в 15:22.
Alex11223 вне форума
Старый 08.04.2016, 15:24   #187
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

теперь 2. почему ?

это может привести к некорректной работе приложения
Изображения
Тип файла: jpg Безымянный.JPG (10.8 Кб, 47 просмотров)
RAFA91 вне форума
Старый 08.04.2016, 15:31   #188
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Может. Не забывайте об этом при написании ПО для древних пермчан, любителей эмоджи и всех остальных не поместившихся в одну пару UTF-16
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума
Старый 08.04.2016, 15:31   #189
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,726
По умолчанию

Цитата:
один под wchar_t другой под char ?

что сразу нельзя было сделать char 4 байтный ?
wchar_t появился позже char, а когда первые компы появились не очень задумывались над многоязычностью
p51x вне форума
Старый 08.04.2016, 15:38   #190
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Об этом должен был не забыть разработчик компилятора , а не пользователь.

раз фактически в строке стоит 1 символ, а s->Length выводит 2,


http://ideone.com/ZxPu48

Последний раз редактировалось RAFA91; 08.04.2016 в 15:42.
RAFA91 вне форума
Закрытая тема


Купить рекламу на форуме - 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