Pull to refresh

Comments 14

Unicode — это нечто просто.

Достоинство у него единственное — он таки действительно содержит всё. Дальше остаются только недостатки. Доступ по индексу за O(n) — пожалуй, самый видный невооружённым взглядом, хотя вообще говоря их сильно больше.

Ну, пока ещё не всё. Но Emoji — значительный шаг ко всему)

Ну, как бы, этих самых эмодзи было не избежать, они же есть в какой-то японской кодировке, придуманной NTT.
Строго говоря доступ по индексу к юникоду не имеет прямого отношения.
Полагаю вы подразумевали конкретный способ представления — utf-8.
Ничто не мешает вам использовать UTF-32. Получите константный доступ по индексу.
>>Ничто не мешает вам использовать UTF-32

И кто его поддерживает? Никто его не поддерживает.

Да и в UTF32 можно забодяжить линейный доступ если злоупотреблять «безногими» конструкциями.
Что такое «безногие конструкции»?
1̟̱͠)̺ ͉Н̶Е̪͇̦̩ ̜̜̪̻͖̣̩П̤͎͙̭̝̼̺͠Ы̺Т̹̘̯А̫̖͝Й̶̦Т̸̪̫̪͙̘͓ЕС̧̦͔̰̲͚͖ͅБ̢͕̝̲͍̱ͅ ̧̬̙̘Ч̴͚͕͓̩͇̮Т͈̜͓̯͔ͅОТ̥̀0̼̙̞͈́ ̯̤̗͓͎̫N̷̜̖3̧̯̰͉М͡Е͇̫͍͉͕̠ͅН̻̱̹̮̯̬И͉̩̻͎͢Т̲Ь̥̮̪!̢̭̥̞ ͍̟̞̭̀2̳̼͚̗)̥̪̙̯̦̼̪ ͈̱͈̳̹̩Д̘̘̠̙У̫М̨А͇͙̺͇̯N̫̥̜̦̤T̲̫̯̰͉̯̬͟3̲͖̼̲̪̖ͅ ̢̜͉̖͖̰Т̻͖̻̟О҉͔̫Л̝͍̪̮͚̤̘Ь̬̗͙̘К͓͉О͕̟̬͇̱ ͏̻̲ͅО̟͚ ̝̥̺̣̥СЕБ̶̩Е!̠̟̠͜ ̗̹̫͕̟͎̫͟3̰̠)̼̳̗ ̪͓Р̙͔̬̰͚̮У̜͓̺̠̲К͏̼̩̙̜͇И̧̖͖̯̣ 4͏̤)̮̙͝ ̹̰Д̫́О̯̟̀С̼̭͈͜М̠̙̮̖̝О̤͖͔̬͇͟Т̜̻̲̞?̯̭̖ ̧͔̜̯̫ͅл͚̜̭ͅю̼͉̻̰͖̫ͅд̜̩͜е̹й ̡͙п̸̭̫͓̼р͍о̲́с̻̝м̦̹͔́о̱͉̭̥̱̀т̤̭р̡͙͕̱̳̱е̹̲͠в̥̝͚͘ͅши̨̲͕͕͎ͅх͖̯ ̨̗с̼̱о̟̭͙̳͠й̷͇͕͓д̟̥̤у̭͓̤͎͠т̹͕ ̣͞с̖̞̣̜̺̤̙ ̯̜̭͘у̖̟̘̲м̴͓̝̗͔а̴͓̼͖̭ ̘̘͚͖͘Б̭̟̗Е̵͚̟З̲Н̜̙͓͚͖̰̥О̙̘̳͚Г̤͚N͓̟̖͎̻̕М͇̙
А если выделить, то вполне можно прочитать :)

Что такое "не поддерживает"? Сохраните в UTF-32 и делайте что угодно. Потом обратно.


Конвертор — такой сложный...

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

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

Попробуйте /(?:)/u по моим замерам оно быстрее Вашего на 5% в среднем.


Если же вы предлагаете создавать специальную функцию, то я не спорю, что можно найти более быстрые решения

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

Попробовал. В Node.js всегда чуть быстрее, в Firefox то чуть быстрее, то чуть медленнее, в Chrome по большей части чуть медленнее. Видимо, если очень важно быстродействие, этот вариант стоит иметь в виду, но одновременно подстраиваться под реализацию.

Sign up to leave a comment.

Articles