powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Очень интересны нюанс с оператором switch
25 сообщений из 236, страница 5 из 10
Очень интересны нюанс с оператором switch
    #39984403
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Т.е. вы предлагаете для скорости кешировать результаты полной декомпозиции?
Будьте добры не приписывать мне ваши собственные измышления.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984405
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВсеРазумный
petrav,

Просто в тексте поиска заменяйте Й,И,E,Ё на X и в искаемом тексте. Проблемы не будет

Я собственно это и предлагаю. Просто Сидоров рассуждает так: UC-32 нам не подходит, потому что нам всё равно нужны составные символы для поиска. Типа для поиска нужно Ё заменить на два символа. И пока он не смог обосновать зачем это нужно.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984413
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrov, Basil A. Sidorov

я перечитал дискуссию два раза и вообще не понял, что Вы сейчас обсуждаете (((

Последнее понятное сообщение
22174105
всё что дальше, лично мне вообще не понятно, о чем разговор.

Кроме акцент марк (диакритик марк) есть и управляющие символы (перевод строки, разрывный - не разрывный пробел, "разрещение" на перенос в данном месте слова), и языки где одной букве соответствует дофига начертаний (вроде в арабских языках написание буквы зависит от предыдущей/следующей буквы), и иероглифы, и все прочее.

И в общем, Basil A. Sidorov совершенно прав, что fixed, что utf, основная сложность совершенно в другом будет заключатся ((( Unicode он в меньше степени про кодировку, в большей про обработку и полиграфию. Сам читал в 2000-ом и ничего не понял )))

к тому же, выяснилосль, что:
1) Unicode древнегреческий язык не поддерживает
2) ни одного Unicode шрифта и Ms Word с нормальной поддержкой диакритик знаков все равно нет. Т.к. буквы разноширинные и даже если взять диакритик марк из шрифта, он над буквой будет черти где рисоваться. Марки есть, пользоваться невозможно
Для древнегреческого тогда использовали самопально-нарисованные обычные (неUnicode) шрифты и "обычный" текст в 1251 (Ms Word думал что 1251, на деле древнегреческий). Как сейчас - не знаю.
3) те шрифты которые есть, нужно покупать у Adobe
В 2000-ом все было очень печально. Полной фигней этот Unicode оказался (((. Подозреваю сейчас не сильно лучше
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984414
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Типа для поиска нужно .... И пока он не смог обосновать зачем это нужно.


Поскольку один и тот же символ может кодироваться по разному, желательно его "нормализовать". Привести к единому варианту.

Пример с русским языком не корректен. Нужно брать языки с accent mark
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984415
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
нам всё равно нужны составные символы для поиска
Ещё раз прошу - не приписывайте мне ваши собственные измышления.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984417
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
petrav
нам всё равно нужны составные символы для поиска
Ещё раз прошу - не приписывайте мне ваши собственные измышления.

Может я неправильно понял? Это что значит?
Basil A. Sidorov
petrav
Какие есть весомые аргументы включить полную декомопозицию?
Искать "йод" и "иод", как пример.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984418
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Может я неправильно понял? Это что значит?
Я отстаиваю простую позицию: никакой вариант кодирования не позволяет избавиться от составных символов.
Практически это означает, что нет смысла вводить в язык программирования и в API высокого уровня тип (w/mb)char: string - и никаких гвоз..., тьфу, чаров. Не char как эквивалент байта, а char, как эквивалент "символ алфавита".
Да, для реализации низкоуровневого API потребуются коды, но, скорее всего, разумнее будет использовать int. Точно так же, как "современный" readch возвращает int, хотя "было время", когда возвращал (знаковый) char.
petrav
Basil A. Sidorov
Искать "йод" и "иод", как пример.
Это пример применимости полной декомпозиции и пример того, что составные символы могут появится в "типа однобайтовых" алфавитах.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984422
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
petrav
Может я неправильно понял? Это что значит?
Я отстаиваю простую позицию: никакой вариант кодирования не позволяет избавиться от составных символов.

Да petrav вроде и не спрашивал про составные. Его вопрос в основном касался оптимизации хранения (байты)
и скорости доступа к производльному i-му символу в строке.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984423
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попытаюсь дополнить более корректным примером. Для ряда применений, при обработке/сравнении/поиске может оказаться, что

H20 - информации о superscripts / subscript нет
H 2 O - Combining characters, за которые ратует Basil A. Sidorov (просто цифра 2 + доп. информация о режиме отрисовке)
H Unicode Symbol с кодом U+2082 0 - Precomposed characters, как хочет petrav

одно и то же

note: возможно путаница в терминах Combining / Precomposed , читайте стандарт сами
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984425
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Да petrav вроде и не спрашивал про составные. Его вопрос в основном касался оптимизации хранения (байты) и скорости доступа к производльному i-му символу в строке.
Так составные символы принципиально влияют на алгоритм и, соответственно, скорость доступа к i-му символу строки. Внезапно.
petrav желает сидеть на двух стульях: ему требуется индексный доступ и юникод одновременно . "Не бывает" (ц) комедия "Чародеи", голос скатерти-самобранки.

P.S.
Можно ещё и графа Калиостро из другой комедии вспомнить: "Седалища не хватит"
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984426
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

вопрос в основном касался оптимизации хранения (байты)
и скорости доступа к производльному i-му символу в строке.


здесь простая и очевидная вилка.
если под капотом строки исходный поток байт, то для uft-8 скорость доступа к i-му символу строки линейна по i,
и у тебя нет иных вариантов.

Если же ты критически зависишь от константного доступа к произвольному символу строки - ты не можешь
работать с ней в сыром виде, и должен заплатить за это расходом памяти на преобразование.


Вопрос "что такое строка?" здесь приобретает диалектический, философский характер.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984427
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте лучше перейдем в плоскость 4х алгоритмов нормализации, которые существуют в документации
по Microsoft.Net framework и Java.

https://docs.microsoft.com/en-us/dotnet/api/system.text.normalizationform?view=netcore-3.1
https://docs.oracle.com/javase/tutorial/i18n/text/normalizerapi.html

Пример теста который успешен. Данные взяты с Microsoft, функция нормализации из OpenJDK.

Код: java
1.
2.
3.
4.
   //from Microsoft.Net https://docs.microsoft.com/en-us/dotnet/api/system.text.normalizationform?view=netcore-3.1
        assertEquals("ắ", Normalizer.normalize("\u1EAF", Normalizer.Form.NFC));
        assertEquals("ắ", Normalizer.normalize("ắ", Normalizer.Form.NFC));
        assertEquals("ắ", Normalizer.normalize("ắ", Normalizer.Form.NFC));



Аналогичные алгоритмы я находил в реализациях Python3.

Почему я настойчиво предлагаю пойти в обратную сторону. Тоесть не в стандарт а именно в реализацию
и от нее - в обратку. Тесть если мы увидим в реализации то что нас шокирует или каким-то образом вызовет
вопросы - мы идем в стандарт и читаем.

Я считаю что дискуссия зашла в тупик и ходит по кругу. Petrav - господин очень настойчивый и целеустремленный.
Но имеет место некая зашоренность которая не позволяет ему просто выйти на уровень принятия той или иной
концепции работы со строками. Он считает что индексация строки очень важна. И в таком решиме мы еще 5-10 лет
проговорим.

А говорили уже на эту тему много.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984429
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Движок сломал красивое начертание композитной буквы. Я сделаю скриншот.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984431
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Тесть если мы увидим в реализации то что нас шокирует или каким-то образом вызовет вопросы - мы идем в стандарт и читаем.
Это, типа, десяток леммингов должен найти косяки сотен (тысяч?) специалистов и десятков (сотен?) тысяч пользователей?
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984432
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
mayton
Да petrav вроде и не спрашивал про составные. Его вопрос в основном касался оптимизации хранения (байты) и скорости доступа к производльному i-му символу в строке.
Так составные символы принципиально влияют на алгоритм и, соответственно, скорость доступа к i-му символу строки. Внезапно.
petrav желает сидеть на двух стульях: ему требуется индексный доступ и юникод одновременно . "Не бывает" (ц) комедия "Чародеи", голос скатерти-самобранки.

P.S.
Можно ещё и графа Калиостро из другой комедии вспомнить: "Седалища не хватит"

Именно поэтому я и апеллирую к практике применения композиций. А именно к документации
по Microsoft/Oracle технологиям. Ни в одной из них композиция не является частью самой строки.

А вынесена в отдельную прикладную библиотеку - нормализатор. И судя по дизайну его практика
применения - опциональна. Тоесть прикладной программист сам решает когда ему применять
нормализацию и когда нет. Нужны ли ему ударения? Нужен ли ему немецкий умляют как диактитика?
Это пойдет от прикладной задачи. Тоесть бизнес должен это отдельно заявить.

В обычных юзкейсах (99.9%) об которые бъется бедняга Петрав нормализация ему дай бог не понадобиться.
Какая у него там нормализация в самолётах? Чорт его знает. Ему бы лишних микросекунд наковырять...
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984433
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
Вопрос "что такое строка?" здесь приобретает диалектический, философский характер.


Насколько я помню стандарт Unicode, там и понятия, что такое "символ", "буква" , "получившаяся картинка на бумаге" приобретает диалектический, философский характер.

А Вы сразу на "строка" замахнулись ))) По поводу строк юникоде говорит следующее:
http://unicode.org/reports/tr14
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984440
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton


В 2004 сталкивался с ПРИКЛАДНОЙ задачей, когда сильно хотелось Unicode... но Unicode и компьютеры "не смогли".
Банальное описание надписей на предметах и нагробиях + поиск по ним

https://jalita.com/guidebook/kerch/istoriko-arkheologicheskiy_muzey.shtml
https://ru.wikipedia.org/wiki/Пантикапей
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984444
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
mayton


В 2004 сталкивался с ПРИКЛАДНОЙ задачей, когда сильно хотелось Unicode... но Unicode и компьютеры "не смогли".

Вы какраз попали на версию MS Net Framework 1.1. Одна из первых.

А на каком языке были разработки? Я не думаю что unicode не могли. Технически там не бох весть какая проблема.
Может со шрифтами был косяк? Я помню что ранние TrueType тоже работали только в национальном диапазоне.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984450
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

А на каком языке были разработки?

https://www.sql.ru/forum/110900/oracle-forms-6i-i-utf-8 )))


mayton

Я не думаю что unicode .... со шрифтами...

Нужного языка в Unicode просто НЕ БЫЛО (((

Ну не подумали в Unicode об древнегреческом языке и Precomposed characters (которые так милы сердцу Petrov) для греческого там просто НЕТ (((, соответственно и в шрифтах таких комбинаций символов нет.

Combining characters (отдельно греческая буква + акцент марки) ни одно средство в то время отрисовывать вообще не умело. Ни Rich Edit control, ни MS Word. А если бы даже я бы и отрисовывал (сдвинуть позицию и в одной позиции два раза нарисовать разные символы - ни бином ньютона запрограмировать) - то получилась бы полная порнография (((, т.ч. я даже заниматься этим не стал.

Сам Unicode в БД мы запихнули (потом пригодилось для украинского и казахского языка и прочих, хотя с казахским вроде тоже все было весело, там тоже нужных символов в стандартном "unicode" Windows не было), но в целом, для Керчи оно оказалось не сильно нужным ((( Но об этом узнали только уже у заказчика, когда на реальные тексты посмотрели. Надеялись текст вводит нормало, а пришлось вводить "как всегда" в транскрипции - вместо нормальных букв записывается та же фраза современными буквами в капcлоке.

В общем, разница такая-же как между H2O C2H5OH и H 2 O C 2 H 5 OH - жить можно, но счастья особого нет.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984454
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда. Нам с вами повезло пройтись по граблям этой технологии.

Поддержка нормализации в Java была запихнута... эээ щас секунду сделаю блейм. Вот.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 108) public final class Normalizer {
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 109) 
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 110)    private Normalizer() {};
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 111) 
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 112)     /**
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 113)      * This enum provides constants of the four Unicode normalization forms
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 114)      * that are described in
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 115)      * <a href="http://www.unicode.org/unicode/reports/tr15/tr15-23.html">
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 116)      * Unicode Standard Annex #15 &mdash; Unicode Normalization Forms</a>
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 117)      * and two methods to access them.
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 118)      *
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 119)      * @since 1.6
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 120)      */
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 121)     public static enum Form {
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 122) 
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 123)         /**
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 124)          * Canonical decomposition.
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 125)          */
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 126)         NFD,
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 127) 
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 128)         /**
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 129)          * Canonical decomposition, followed by canonical composition.
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 130)          */
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 131)         NFC,
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 132) 
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 133)         /**
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 134)          * Compatibility decomposition.
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 135)          */
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 136)         NFKD,
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 137) 
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 138)         /**
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 139)          * Compatibility decomposition, followed by canonical composition.
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 140)          */
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 141)         NFKC
ce0984a87ec4 jdk/src/share/classes/java/text/Normalizer.java       (duke   2007-12-01 00:00:00 +0000 142)     }



В 2007 году некий Дюк закоммитил первые константы относящиеся к кодификатору этих четырех алгоритмов.

А вот матрица совместимости Unicode-стандартов и дотнета. Видно что было активное внесение изменений.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984456
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот самая олд-скульная версия документа касающася нормальных юникодовских форм

https://www.unicode.org/reports/tr15/tr15-22.html

Датируется 2002-03-26. Если кто знает более раниие - прошу отписать.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984457
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Ну не подумали в Unicode об древнегреческом языке
Вы бы, мопвашуять, уточняли версию стандарта юникода, с которым вы работали двадцать лет назад: Греческое и коптское письмо .

P.S.
Способность помнить события "времён очаковсксих и покоренья Крыма", безусловно, говорит о хорошей памяти, но ...цкая способность рассказывать о них, как о "только что случившихся"... Ну не старые же маразматики языки на завалинке чешут?..
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984469
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Я считаю что дискуссия зашла в тупик и ходит по кругу. Petrav - господин очень настойчивый и целеустремленный.
Но имеет место некая зашоренность которая не позволяет ему просто выйти на уровень принятия той или иной
концепции работы со строками. Он считает что индексация строки очень важна.

Я придумал хорошую аналогию. Знаете, золотое правило проектирования С++: если ты не используешь какой-то навороченный функционал С++, то ты и не платишь накладные расходы за этот функционал. Виртуальные функции кажутся не производительными? Не используй их. Потоки С++ медленные? Используй I/O из унаследованного Си. Разворачивание стека не нравится, отключи исключения, но тогда без STL. И т.д.

А с Юникодом всё наоборот. Мне не нужны акценты, какие-то составные символы, нюансы арабских языков и т.д. Но за всё за это я уже заплатил. У меня поломалась визуализация данных и печать отчётов. Я переписывал алгоритмы. И я считаю, что можно было сделать лучше. Не платить за то что не используешь.

Я, конечно, понимаю, что в системах вёрстки журналов, в текстовых редакторах, в поисковых движках, в браузерах — все навороты Юникода нужны. Я только За.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984473
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav, ну и слава богу.

Я тебе очень сильно советую хотя-бы немного попрограммировать на C#. Чтоб просто посмотреть
как некоторые вещи реализованы. После этого вернись к С++ и превнеси какие-то идеи или принципы
какие ты увидел. Вариться всю жизнь в С++ - это означает быть флюсо-подобным специалистом.
Надо расширять кругозор.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39984478
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Я тебе очень сильно советую хотя-бы немного попрограммировать на C#.

А ведь Java и JavaScript хранят строки в utf-16 и у классов String в этих языка есть оператор [] и метод length().

Вот в Европе какой процент программистов перед вызовом [] резко остановится и начнёт думать, а что там такое записано? Может суррогатная пара? Вот какой процент по вашему мнению? Я понимаю, что в вэбе это редко нужно.

PS: У меня около 8-ми лет стажа на SQL, JavaScript, C# (WinForms, ASP.NET). Но я уже мало что помню.
...
Рейтинг: 0 / 0
25 сообщений из 236, страница 5 из 10
Форумы / C++ [игнор отключен] [закрыт для гостей] / Очень интересны нюанс с оператором switch
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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