Pull to refresh

Comments 71

Какой такой принцип кодирования? Юникод не определял и не определяет никакой принцип кодирования.
Не так выразился. Есть стандарты кодирования(формы представления) unicode символов: UTF-8, UTF-16, UTF-32. Изменения их не коснулись?
это был-бы апокалипсис, если б коснулись
Ну, на сколько я понимаю иногда стандарты не меняют сильно, а просто расширяют. Ну да ладно, нет так нет — хлопот меньше.
Я думаю, что UTF-32 еще очень на долго хватит, хотя так говорили про память, про FAT-16 а потом и про FAT-32. Хорошо, что письменность не так стремительно развивается…
UTF-32 представляет ровно столько же кодовых позиций, сколько и UTF-16, и UTF-8. А именно, столько, сколько присвоено в Unicode.
UFO just landed and posted this here
Есть стандарты кодирования(формы представления) unicode символов: UTF-8, UTF-16, UTF-32. Изменения их не коснулись?
Ну, так это конкретные кодировки, к данной новости они отношения совершенно не имеют) Не изменились, конечно.
А чего минуснули? Что я не то написал-то? Я просто помню как я замучался UTF-8 парсить по битам, отсюда и вопросы.
Ой, да там 4 ифами проверяется через маску, 10 строк в сумме все декодирование.
Что там мучаться-то. Я даже по памяти напишу.
Ну, с регулярками напряженка правда…
Ну я когда свой движок писал — находу декодировал. В результате скорость, сопоставимая с memcpy --1.5 гб/с. И это на джаве.
Ну на php регулярки быстрее чем цикл.
Как это вы сравнили? А что быстрее integer или функция? Можно целый цикл статей написать.
Тестами, проход по каждому символу строки с его анализом медленней чем регулярка в пхп. Java рулит в этом плане, однако php пока отдыхает. Мои тесты говорят об этом.
Это как жопа лучше пальца.
Какой анализ?
Какой проход? Один линейный?
Какая регулярка?

Покажите тесты хоть.
Писал я простой парсер sql на пхп. Вот простейшая регулярка:
'/[\'"`\\\\;]/'.
Как выяснилось работает она быстрее чем:
for(i=0;i<length(s);i++){
switch(s[i]){
case '\\':
break;
case '"':
break;
case "'":
break;
case '`':
break;
case ';':
break;
}
}


Результаты точные не скажу, но на вскидку проход по каждому из символов медленнее порядка 3 раз чем preg_match_all/preg_match.
Размер обрабатываемого файла — 800 кб, обрабатывается кусками по 60 кб.
Точнее пока сказать не могу, так как сейчас занят другими задачами. Как вернусь к этой — отпишусь на хабре. Но вы пока можете сами потестить, если есть желание.
Тривиальные регулярки действительно будут быстрее и очевидно почему.
Цикл на самом php будет работать в байткоде php.
А вот регулярки… не в курсе точных деталей реализации, но учитывая, что регулярки гораздо проще, в них не нужен Reflection и прочая муть, соотв. их можно гораздо лучше оптимизировать.

Другое дело, что регулярки в php с utf-8 отлично работают и не к чему делать декодирование из utf-8.
юникод определяет принципы комбинирования и нормализации/денормализации потока символов.
а также кучу из свойств, в том числе замену прописных заглавными и титульными.
в некотором смысле — это тоже кодирование, только на уровне символов, а не байт.
Всякие лав-отели добавляют, а tengwar всё никак не могут добавить по-нормальному… :-(
и тенгвара не хватает, и кирта.
а в идеале конечно еще бы и сарати
ах, мечты-мечты.
Лайкнул бы, да кармы не хватает. Так что просто +1 :)
я сделал это за вас.
ну и вам тоже выдал плюс, за идею.
Знак рубля по-нормальному добавили?
Извините, а какой такой знак рубля? Его, как бы, официально не существует.
А любовный отель, значит, официален?
Фактически знак рубля используется активнее, чем половина всех этих новых юникодовских извратов, вместе взятых.
Фактический? Чаще всего используется «руб.» вместо знака.
Ви что-то имеете против пока еще не признанного ЦБ знака рубля?
То что он не признан. А потому и нет «знака рубля», и добавлять в Unicode нечего. И я не понимаю этого фанатизма к этому знаку. Ведь если посмотреть чисто юридически, то получается, что если цена на что-то указана с подписью этого знака, то это всего лишь значит сколько-то неизвестных условных единиц.
Мне кажется вы ошибаетесь. Есть в суде дойдет дело до трактования обычной надписи 100
<знак рубля>
, то это будет значить «100 рублей». С другой стороны, ни одна надпись на обычном сайте обладает никакой юридической силой.
Юридически этот знак не значит ничего, и на самом то деле по хорошему сайтам, которые используют этот знак, надо указывать, что 1 <псевдо-знак рубля> = 1 рубль РФ. Но это уже отошли в сторону. Основная мысль, которую я хотел донести: знака рубля нет, значит и вносить в Unicode нечего.
А что юриически означает U+1F4A9 — кучка говна (собачьего)?
Кем официально признан этот знак говна?
Значит, что у авторов стандарта идиотское чувство юмора.

Если и вносить в Unicode ваш любимый несправедливонепризнанный символ рубля, то его в стандарте нельзя называть «RUSSIAN RUBLE SYMOBL».
Можно!

U+20A0 EURO-CURRENCY SIGN
• intended for ECU, but not widely used
• historical character; this is NOT the euro!

U+20A4 LIRA SIGN
• intended for lira, but not widely used
• preferred character for lira is U+00A3 POUND SIGN

U+20A8 RUPEE SIGN
• India, unofficial legacy practice

U+20B7 SPESMILO SIGN
• historical international currency associated with Esperanto

U+20B4 HRYVNIA SIGN
• Ukraine
И большинство из них — исторические, в отличии от…
И в чем отличие?
экю исторической побыть не успела (юникода в 80ых небыло, в latin-1 места не нашлось)

лира и фунт взаимозаменяемые (фунт был в latin-1 и всем пофег на лишнюю чёрточку)

символ рупии — аналог сокращения «rub.» одним символом иностранными буквами. родными буквами ихняя буква «р» — сама кому хочешь символ.

спесимо — неудачный эксперимент на пару лет в узком уругу

такчто историческая тут развечто гривна.
Хм, это слегка противоречит их описаниям, если я правильно понимаю слово «historical» в их описании.
Гривна как раз самая не историческая, этот символ приняли в 2003 официально, а в 2005 добавили в Юникод. Вполне себе используется для обозначения валюты в Вин, Лин и ОS X.
U+20B7 SPESMILO SIGN
• historical international currency associated with Esperanto

Между прочим, во времена своего хождения (было и такое, до Первой Мировой) еденица эсперантистской международной валюты Spesmilo («тысяча надежд» в переводе с латыни) вроде как равнялась как раз одному российскому рублю.
это значит не чувство юмора а то, что официальная признаность госструктурами не является критерием.

критерием является идентифицируемость и употребимость.
Вот когда 80% процентов инет магазинов, а так же где-нибудь хотя бы 30% оффлайн магазинов начнут использовать поделку Артемия для обозначения рубля, вот тогда его и можно будет назвать «узнаваемым и употребляемым». А сейчас распечатайте знак и пройдитесь по улице не в Москве или Питере, спрашивая у прохожих что это за символ. Я удивлюсь, если более 30% скажут верно.
Вот когда юникод-консорциум скажет, что 80% онлайн, 30% оффлайн-магазинов и отсутствие удивление хабраюзера sdvn — необходимое и достаточное условие для включения символа в юникод — Артемий сам по магазинам пойдёт и на хабре зарегается :)
Артемий не автор знака, а скорее самый известный его пиарщик.
Ви что-то имеете против пока еще не признанного ЦБ знака рубля?
Как хорошо известно всякому читателю википедической статьи «Знак рубля», в России с XVII века по XIX век существовала собственная традиция записи знака рубля в качестве сочетания упрощённых контуров букв «р» и «у». Вот этот знак в SVG на Викискладе:

[знак рубля в SVG]

По сравнению с этой традицией лебедевский знак рубля имеет совершенно тот же недостаток, что и всем заметные нюансы лично Вашей письменной речи (одесское «Ви» вместо «Вы», лебедевское «е» вместо «ё»), а также ряд других сходных и широко распространённых письменных обычаев: талмудическое «Б-г» без «о», лебедевское «интернет» или люркморское «интернеты» вместо «Интернет», иудейский знак арифметического сложения «﬩» (Unicode FB29) вместо чрезмерно христианского плюса, и так далее.

Недостаток этот довольно прост: насколько все, все эти обычаи являются еврейскими, настолько же все они противоречат народным традициям русской письменной речи; а насколько часть этих обычаев является также и иудейскою в своём вероисповедном символизме, настолько эта часть не подходит православным людям. (Много подробнее я упоминал об этом на Формспринге.)

Конечно, можно учесть, что (согласно изложенным в Электронной еврейской энциклопедии итогам всероссийской переписи населения 2002 года) в России проживает 234 тысяч евреев, из которых 148 тысяч (63%) проживает в Москве, а 55200 (ещё 23,6%) проживает в Санкт-Петербурге — стало быть, урбанистическая централизация в развитии российского Интернета неминуемо приводит к тому, что 86% российских евреев подключены к Интернету куда быстрее и дешевле (потому что живут в столицах), нежели 86% русских людей (которые в столицах не живут и жить не могут, оттого что не поместились бы). Конечно, можно учесть, что даже само название Хабрахабра происходит от двойного повторения арабского слова «хабр», означающего учёного еврея (как о том пишут Толстов и затем Кожинов). В силу этих обстоятельств в Интернете вообще, и на Хабрахабре в частности, более слышным и более учитываемым оказывается голос еврейских намерений и еврейских символов — таких, как лебедевский знак рубля. Это видно, кажется, даже и по итогам голосования за комментарии вот здесь же.

Однако ведь Центробанк (и вся российская банковская система) имеет дело не с Интернетом, а со всем населением России, в котором русский народ пока ещё преобладает, и преобладает даже весьма значительно (несмотря на двадцатилетие реформ, слишком явно проведённых в интересах разнообразных гайдаров, чубайсов, немцовых, уринсонов, ясиных, лившицев, березовских, кириенок, абрамовичей, вексельбергов, гусинских, дерипасок, лисиных, фридманов, рейманов, пумпянских, михельсонов, авенов, галицких, чигиринских, канторов, давидовичей, малкиных, мамутов, симановских, полонских, краснянских, и так далее).

Поэтому не должно удивлять Вас то упорство, с которым Центробанк воздерживается от навязывания населению (и оттого прежде всего русскому народу) отстаивамого Вами поделия.

Что же касается добавления лебедевского знака в Unicode, то против этого, может быть, никак и не следует возражать: пускай будет там для той же цели, что и символ под номером FB29. Увидишь такой символ в письменной речи у собеседника — и тотчас же явствует, кто он по происхождению и вероисповеданию. То-то и польза.

Но ведь этой пользы, конечно, ужé не будет, если символ навяжут всем подряд, принудив к непременному его использованию.
Бгагаг, только Мицголу придет в голову развивать нацпол в шрифтовой теме.
А если мне больше симпатизирует знак, выложенный вами в SVG, чем эта перечёркнутая «р»? Неужели это значит, что я — неправильный еврей?
Это так, но знак тоже встречается нередко. Например, на недавно запущенном enter.ru.
Вот только любовного отеля мне не хватало для полного счастья! Джва года ждал!
а давно это в юникоде появились цветные символы?
Насколько я понимаю: в UCS юникода просто выставляется соответствие кода какому-либо символу. При чём символ — это не больше чем описание. Так-что при желании можно в него добавить вообще: «трёхмерный символ колодца который мигает, а потом извергает воду на весь экран и выключает компьютер». А как он будет выглядеть и будет ли так делать зависит от конкретного шрифта и метода рендеринга этого шрифта. Ну и конечно же надо, что бы такой символ «приняли». Есть там еще область пользовательских символов для которой вообще ничего конкретного не определено.
что-то мне подсказывает, что в стандарте юникода есть вполне чёткое определение символа, а также все сходства и отличия от букв, пиктограмм, идеограмм, и т.п.
тамже помимо словесного описания прописываются ещё куча свойств типа капитализации, нумеральности, итп.
Там много чего есть:
графические символы, которые тоже делятся на группы, управляющие символы, символы форматирования. Да там есть ограничения, но ничто не мешает принять в стандарте, что X это коробочка, а X+15 это цветная коробочка. А с управляющими символами вообще много чего можно придумать.

Но вцелом это всё должно быть более-менее в рамках «система представления текста»
О, copypastecharacter.com еще больше станет )))
Да, хочу зарегистрировать http://crap.ws/
Обоже. Публичный дом, палатка и заправка — всё то, чего так не хватало в типографике *facepalm*
Интересно, когда появится первый шрифт, поддерживающий все эти (местами идиотские и бесполезные) символы
Кстати на интересную мысль навели: можно включить все наиболее часто используемые, наиболее необходимые в жизни смысловые единицы в качестве символов в Unicode. Так, чтобы на Unicode можно было однозначно изъясниться «жестами» с человеком, не знающим твоего языка :-) А «facepalm» я бы поместил среди первых символов в очередь на добавление :-)
Ну, идиотские и бесполезные они для нас с вами.

Миллионы людей в Японии (стране, равной трём Украинам по населению и четырнадцати — по ВВП) используют их ежедневно, а благодаря популярности айфонов они (символы Emoji, в том числе публичный дом
В убунте из этого великообразия только кошка, мышка, обезьянка и коровка. (DejaVu Sans)

Пичаль.
Когда уже символ facepalm добавят? Очень надо!
Да, весь «алфавит» мемфейсов :)
Похоже, уверенно движемся в сторону иероглифического письма.
UFO just landed and posted this here
На всякий случай замечу для других читателей, что символ LOVE HOTEL (номер 1F3E9) появился в одной из прежних версий Юникода (в 6.0, а не в 6.1) — в октябре 2010 года — и потому сейчас ужé не является новостью.

В версии же 6.1 в этот блок («Miscellaneous Symbols And Pictographs») добавили только четыре гораздо менее фривольных символа, традиционно служащих для оформления православного богослужебного устава (они идут под номерами 1F540, 1F541, 1F542 и 1F543). Это символы всенощного бдения, полиелея, праздничных служб разной степени торжественности.
Sign up to leave a comment.

Articles