powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сколько строк в .NET
25 сообщений из 38, страница 1 из 2
Сколько строк в .NET
    #39849106
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как известно, в .NET есть строки, в том числе одна пустая.
Сколько их всего?
Как известно, максимальный размер строки = 2 гб, или 1 073 741 823 символов в кодировке utf-16, последняя в свою очередь может закодировать 1 112 064 символов.
Символ может быть закодирован 2 или 4 байтами.
Если бы все помещались в 2 байта, то все просто, то все просто - геометрическая програссия
65536*(1-65536^1 073 741 823)/(1-65536)
Но есть и 4 байта, тогда строка, скажем из 10 байт, может быть представлена так
22222 - 63488(1-63488^5)/(1-63488)
2422 - 63488 * 1048576 * 63488 * 63488
244 - 63488 * 1048576 * 1048576
4222 - 1048576 * 63488 * 63488 * 63488
442 - 1048576 * 1048576 * 63488
Как же быть?
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849114
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не понял что считаем. Сколько уникальных строк можно сформировать в .NET ?

Если так, то 65536 тут не уместно, т.к. в UTF-16 есть неиспользованные коды

В общем случае можно смело ответить дофига, т.к. 65536 1 073 741 823 = 2 17 179 869 168 ~= 10 5 153 960 750
Дальше можно не считать, т.к. это уже мелочи по сравнению с этим числом.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849116
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

тут .Net наверно не причём. В utf-16 для символа строго два байта. Переменная длина в utf-8. А что вообще надо.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849149
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIВ utf-16 для символа строго два байта.
Не строго, есть 4-хбайтные, т.к. в юникоде на сегодня более миллиона символов, что никак не входит в 65536 (2 16 ).
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849160
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TKreatorXXIВ utf-16 для символа строго два байта.
Не строго, есть 4-хбайтные, т.к. в юникоде на сегодня более миллиона символов, что никак не входит в 65536 (2 16 ).
В Википедии вот так:
Символы же в диапазоне 10000..10FFFF (больше 16 бит) кодируются по следующей схеме:
Из кода символа вычитается 10000. В результате получится значение от нуля до FFFFF, которое помещается в разрядную сетку 20 бит.
Старшие 10 бит (число в диапазоне 0000..03FF) суммируются с D800, и результат идёт в ведущее (первое) слово, которое входит в диапазон D800..DBFF.
Младшие 10 бит (тоже число в диапазоне 0000..03FF) суммируются с DC00, и результат идёт в последующее (второе) слово, которое входит в диапазон DC00..DFFF.

Я так понял, хитро кодируются. В принципе может это и не важно. Сейчас utf-8 рулит.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849188
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ, тема топика - криптография? Какая решается задача - непонятно.

Несмотря на действующее ограничение в 2Гб текстовые данные все равно обрабатываются
в любом размере. Есть лог-файлы гораздо больше 2Гб и как-то с ними мы умудряемся работать.

Поэтому если надо - можно пренебрегать этим ограничением. Но изначально надо поставить задачу.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849200
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Если так, то 65536 тут не уместно, т.к. в UTF-16 есть неиспользованные коды

Не используемые это какие?
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849215
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВDima TЕсли так, то 65536 тут не уместно, т.к. в UTF-16 есть неиспользованные коды

Не используемые это какие?
Вот таблица юникода , полистай, там есть пустые клетки
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849290
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЕвгенийВпропущено...

Не используемые это какие?
Вот таблица юникода , полистай, там есть пустые клетки
1. Есть незаполненные значения, скажем выделили какому нибудь алфавиту диапазон из 100 символов, а в нем только 90, но это будут валидные значения.
2. Есть повторяющиеся символы.
3. Есть неправильно сформированные строки.
msdnОбратите внимание, что String , поскольку экземпляр состоит из последовательной коллекции единиц кода UTF-16, можно String создать объект, который не является правильно сформированной строкой в Юникоде. Например, можно создать строку с младшим суррогатом без соответствующего старшего символа-заместителя. Хотя некоторые методы, такие как методы кодирования и декодирования объектов в System.Text пространстве имен, могут выполнять проверки, чтобы гарантировать, что строки имеют правильный формат, String члены класса не гарантируют, что строка имеет правильный формат.
Нужны все строки всех строк, правильных, повторяющихся и не заполненных, за исключением 3 пункта.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849370
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIВ utf-16 для символа строго два байтаДля кодовой точки, мопвашуять, для кодовой точки.
Символы (глифы) состоят из одной или нескольких кодовых точек и этот факт не зависит от способа кодирования.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849401
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

Вы пример какой-нибудь приведите. А то непонятно.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849405
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

снимается вопрос. Есть символы из двух двухбайтовых слов, т.н. суррогатные пары.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849409
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВНужны все строки всех строк, правильных, повторяющихся и не заполненных, за исключением 3 пункта.

На Википедии ( https://ru.wikipedia.org/wiki/UTF-16) есть пример функции по декодированию. В ней зашито определение недопустимых диапазонов. Достаточно всё просто. Можно этим воспользоваться.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849410
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде в Unicode символы могут быть составные.

Например буква отдельно и аксент марки отдельно. Тогда, наверное, их кол-во врят ли ограничено (насколько помню, древне греческие буквы до 4 разных (или больше?) акцент марков в написании могут иметь).

Но давно с этим разбирался. И в то время, полноценно Unicode почти никто не поддерживал
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849471
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВНужны все строки всех строк, правильных, повторяющихся и не заполненных, за исключением 3 пункта.
Зачем? По пьяне поспорили кто точнее посчитает?
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849481
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIВы пример какой-нибудь приведите. А то непонятно."Cyrilic letter yo" - представлена как отдельной кодовой точкой, так и парой - "Cyrilic letter e" и акцентирующий код (диакритический знак). Второй пример - "иван-краткий".
Это если совсем наглядно и не выходя за пределы кириллицы.

P.S.
Вот реально несложные вещи, изложенные на сайте консорциума во введении к стандартам и в ЧАВО.

P.P.S.
Что за эпидемия стильно-модно-молодёжных сайтов началась-то ...
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849498
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЗачем? По пьяне поспорили кто точнее посчитает?
Нужна формула, которая по данному N (количеству char) даст количество строк.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849502
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВDima TЗачем? По пьяне поспорили кто точнее посчитает?
Нужна формула, которая по данному N (количеству char) даст количество строк.
Есть ответ дофига, т.е. больше чем атомов во вселенной. Зачем дальше считать?
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849507
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЕсть ответ дофига, т.е. больше чем атомов во вселенной. Зачем дальше считать?
Хочу все знать, интересует сама методика подсчета таких сумм.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849514
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВDima TЕсть ответ дофига, т.е. больше чем атомов во вселенной. Зачем дальше считать?
Хочу все знать, интересует сама методика подсчета таких сумм.
В фундаментальных науках обычно говорят не о подсчёте а об оценке. Тоесть.
Мы берем предположение что будет текст который на 99% состоит из обычных
символов unidoce (двухбайтных) и на 1% из т.н. code-points со средней длиной
2 char (четырехбайтных).

Дальше - школа. Втрой класс. Работа с дробями и пропорциями. Считаем
по вашим-же формулам в первом посте.

Гнаться за супер-точностью порядка копеек в младших разрядах нет
смысла т.к этот ответ ни на что не влияет. А для принятия решения
в физике например просто берут старшие 10 десятичных разрядов
и порядок числа а младшие - тупо игнорируют. По аналогии с типом
double. Он работает похожим образом только основание системы не 10
а 2.

Такие-же методики грубых оценок и сравнений к примеру использует
Брюс Шнайер в своей книге "Практическая Криптография".
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849812
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВинтересует сама методика подсчета таких сумм.
Тогда вам в школьную математику, раздел комбинаторика. В простейшем случае это перемноженные количества возможных значений для каждой из позиций. То есть, например, в двузначном числе в первой позиции 10 возможных значений и во второй 10. Поэтому всего двузначных чисел существует 10*10 = 100. Если в первой позиции вместо цифр будут латинские буквы, то количество достигнет 26*10 = 260. И так далее по аналогии.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849849
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

комбинаторика это не школьный курс, не надо передергивать, комбинаторику преподают на 1-2 курсах института, в профильных техникумах
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849862
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesDimitry Sibiryakov,

комбинаторика это не школьный курс, не надо передергивать, комбинаторику преподают на 1-2 курсах института, в профильных техникумах
Вроде как 10-11 класс. В техникумы обычно после 9-го идут, поэтому там ускоренно проходят программу 10-11 классов. Институты с мат.уклоном наверно углубленно изучают.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849871
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да комбинации юникодов автор правильно посчитал в 1 посту. Его вопрос касался длинных Unicode-последовтательностей.
...
Рейтинг: 0 / 0
Сколько строк в .NET
    #39849891
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДа комбинации юникодов автор правильно посчитал в 1 посту. Его вопрос касался длинных Unicode-последовтательностей.
Получается если все символы 2 байта, то 63488 1 073 741 823 комбинаций
Если один 4-байтный, то 63488 1 073 741 821 * 1 112 064 1
два 4-байтных - 63488 1 073 741 819 * 1 112 064 2
и т.д. до 63488 1 * 1 112 064 536 870 911

Т.е. каждое последующее произведение получается делением на 63488 2 и умножением на 1 073 741 823. Или по другому это геометрическая прогрессия. Дальше посчитать по формуле суммы N элементов геометрической прогрессии.
...
Рейтинг: 0 / 0
25 сообщений из 38, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сколько строк в .NET
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]