⎡msk⎦⎡RegExp⎦⎡05⎦ JavaScript Strings и Unicode, UTF-16

preview_player
Показать описание
Рассмотрим необходимый минимум, которым должен владеть каждый программист работает с данными в формате Unicode.
Разберем особенности работы с JavaScript строками, прочувствуем все проблемы и обозначим решения.

*Опечатки:*
00:29:28 Последняя строка в слайде #5
содержит символы: `a\u{300}`
следует читать: `a\u{300}`
в презентации исправлено.

00:40:40 Первая строка в слайде #9
содержит символы: `🏴󠁧󠁢󠁷󠁬󠁳󠁿`: U+1f47B
следует читать: `🏴󠁧󠁢󠁷󠁬󠁳󠁿`: ?????
в презентации исправлено.

*Тайм коды:*
00:00:00 Музыка
00:02:57 Бормотание
00:03:55 *О чем видео*
00:04:50 Немного истории о Unicode
00:13:05 Почему первая версия Unicode не завладела миром
00:16:05 *Что означают термины: алфавит, символ и слово*
00:17:40 Размер алфавита Unicode
00:18:05 Типы кодирования: UTF-8, UTF-16, UTF-32
00:22:43 Кодировка используемая в файле, который содержит код программы
00:23:45 UTF-16 как кодировка, согласно стандарту, для внутреннего представления строк в JavaScript
00:24:13 Проблемы UTF-16
00:26:45 Combining classes (символы комбинирования)
00:30:35 Суррогатные пары
00:32:20 Наглядный пример создаваемых стандартом Unicode
00:33:35 Продолжение про суррогатные пары
00:34:05 Marks
00:36:55 Emoji, Emoticons
00:40:20 Флаг Уэльса, как пример сложностей кодирования Unicode
00:43:05 *CharCode или \uXXXX*
00:45:10 *CodePoint или \u{ X }*
00:49:10 String[] или Property Accessor для String и UTF-16
00:52:25 Spread и String Iterator
01:00:55 *Роль базовых регулярных выражений*
01:01:17 Расширения регулярных выражений до codePoints стандарта Unicode ключ \u
01:07:29 Примеры проблем, которые не разрешаются флагом \u
01:10:00 *Новая эра Unicode в JavaScript или флаг \v*
01:10:35 Резюме
01:21:10 Ответы на вопросы

Поддержать маленького бородатого JavaScript-ра:
Карта Приват: 5168745021397333

USDT Tron (TRC20): TKoZu59WHiX6L6qvwYTYTsZJerDrnAHBTx
USDT etherium (erc20): 0x75fb8a62dfcf453b2e73f1ef1c407d46f918fffa
bitcoin:bc1q74aru82v4d3alay7p53jdwkmxe4a5gz7fmvfm2?message=AsForJS&time=1686349743

Рекомендации по теме
Комментарии
Автор

Отличное объяснение, ждём дальше про регулярные выражения

russell
Автор

*Тайм коды и опечатки:*
00:00:00 Музыка
00:02:57 Бормотание
00:03:55 *О чем видео*
00:04:50 Немного истории о Unicode
00:13:05 Почему первая версия Unicode не завладела миром

00:16:05 *Что означают термины: алфавит, символ и слово*
00:17:40 Размер алфавита Unicode
00:18:05 Типы кодирования: UTF-8, UTF-16, UTF-32
00:22:43 Кодировка используемая в файле, который содержит код программы
00:23:45 UTF-16 как кодировка, согласно стандарту, для внутреннего представления строк в JavaScript
00:24:13 Проблемы UTF-16
00:26:45 Combining classes (символы комбинирования)
00:30:35 Суррогатные пары
00:32:20 Наглядный пример создаваемых стандартом Unicode
00:33:35 Продолжение про суррогатные пары
00:34:05 Marks
00:36:55 Emoji, Emoticons
00:40:20 Флаг Уэльса, как пример сложностей кодирования Unicode

00:43:05 *CharCode или \uXXXX*
00:45:10 *CodePoint или \u{ X }*
00:49:10 String[] или Property Accessor для String и UTF-16
00:52:25 Spread и String Iterator

01:00:55 *Роль базовых регулярных выражений*
01:01:17 Расширения регулярных выражений до codePoints стандарта Unicode ключ \u
01:07:29 Примеры проблем, которые не разрешаются флагом \u

01:10:00 *Новая эра Unicode в JavaScript или флаг \v*
01:10:35 Резюме
01:21:10 Ответы на вопросы


*Опечатки:*
00:29:28 Последняя строка в слайде #5
содержит символы: `a\u{300}`
следует читать: `a\u{300}`
в презентации исправлено.

00:40:40 Первая строка в слайде #9
содержит символы: `🏴󠁧󠁢󠁷󠁬󠁳󠁿`: U+1f47B
следует читать: `🏴󠁧󠁢󠁷󠁬󠁳󠁿`:
в презентации исправлено.

AsForJS
Автор

Выражаю безграничную благодарность автору за контент

raff_m_d
Автор

Kрутое Познавательное видео! Большое спасибо Автору!!!

SERGIUS_ORIGINAL
Автор

Стоит добавить, что кодировка Unicode всегда встраивалась в файл. Поэтому, пустой файл имел минимальный размер 1 мегабайт. Плюс в Unicode была заложена обратная совместимось для всех языков кроме кириллицы. Кто-то создавая кодировку cp-1252, не расширил предыдущую ASCII, а создал новую. В результате, имея на компьютере Unicode, файлы созданые в других кодировках, спокойно читались, а для кириллицы приходилось специально менять кодировку)))

ВладимирАндреев-фт
Автор

Максим спасибо за видео, а у вашего кота тоже длина 2?

frstnmlstnm-itmf
Автор

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


Нужно считать textMetrics. например так
var canvas =
var ctx = canvas.getContext('2d');
c'))

stepanmikhailiuk
Автор

Приветствую! Спасибо за Ваши труды!)
К сожалению, не смог воспроизвести, чтобы комбинация ` \u{1f1fa} и \u{1f1e6}` отображала именно флаг в консоли (ни в Opera, ни в Chrome): у меня все время выводит UA . Только в Firefox получилось. Хотя в том же Chrome флаг отображался в презентации, но только в режиме демонстрации, а при открытии файла для редактирования флаг снова становился UA.
Собственно вопрос: в каком синтаксисе использовать эти символы \u{1f1fa} и \u{1f1e6}, чтобы они не образовывали эту особенную комбинацию суррогатных пар, отображающую флаг, а просто отображали 2 эмодзи 🇺 и 🇦? Естественно, кроме символа пробела между ними

gyglejid
Автор

Спасибо! Было интересно.

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

stepanmikhailiuk
Автор

Вот и задачка подоспела :)

Есть строка 'র্যab c'. как ее разбить на подстроки ['র্য', 'a', 'b', ' ', 'c'] ?

stepanmikhailiuk
welcome to shbcf.ru