Comments 18
Google translate?
+2
С чего бы?
+1
>Случилось мне задание: проверить, есть ли XML-имя правильным.
>Опять-таки, как обычно, резолюция Microsoft — Won't fix.
>Этот способ не очень универсален, и задавать ним более узкие будет ужасно неудобно, мне он показался красивым, и поэтому я решил им поделится.
Смутило.
>Опять-таки, как обычно, резолюция Microsoft — Won't fix.
>Этот способ не очень универсален, и задавать ним более узкие будет ужасно неудобно, мне он показался красивым, и поэтому я решил им поделится.
Смутило.
+8
Brain translate, т. к. русский язык мне не родной… Хотя мне всегда казалось, что владею не хуже многих носителей :)
0
p.s. Последняя строчка — было пропущено смыслообразующее слово, в таком виде она меня тоже смущает :) Уже исправлено.
А что не так (с точки зрения native speaker) с первыми двумя? Подозреваю, что форма «случилось мне...» может выглядеть несколько архаической, но все же и лексически, и синтаксически правильной, а «резолюция» обычно не употребляется в таком контексте.
Я прав?
А что не так (с точки зрения native speaker) с первыми двумя? Подозреваю, что форма «случилось мне...» может выглядеть несколько архаической, но все же и лексически, и синтаксически правильной, а «резолюция» обычно не употребляется в таком контексте.
Я прав?
0
>Подозреваю, что форма «случилось мне...» может выглядеть несколько архаической, но все же и лексически, и синтаксически правильной
Да, и это тоже. Хотя во второй части предложения тоже имеется шероховатость. Я бы выразил мысль так: «Мне понадобилось проверить, является ли XML-имя правильным».
>«резолюция» обычно не употребляется в таком контексте.
Именно. в этом контексте, скажем, «вердикт» звучал бы лучше чем «резолюция».
>… и задавать ним более узкие диапазоны символов будет ужасно неудобно, мне он показался красивым,…
Я бы написал "… и задавать с его помощью более узкие диапазоны символов будет ужасно неудобно, но мне он показался красивым, ..."
Впрочем русский и для меня, по идее, не основной язык из используемых в повседневном обиходе, так что и я могу в чём-то ошибаться :)
Да, и это тоже. Хотя во второй части предложения тоже имеется шероховатость. Я бы выразил мысль так: «Мне понадобилось проверить, является ли XML-имя правильным».
>«резолюция» обычно не употребляется в таком контексте.
Именно. в этом контексте, скажем, «вердикт» звучал бы лучше чем «резолюция».
>… и задавать ним более узкие диапазоны символов будет ужасно неудобно, мне он показался красивым,…
Я бы написал "… и задавать с его помощью более узкие диапазоны символов будет ужасно неудобно, но мне он показался красивым, ..."
Впрочем русский и для меня, по идее, не основной язык из используемых в повседневном обиходе, так что и я могу в чём-то ошибаться :)
-1
Просто обычный программист =)
+2
Если задание заключалось только в проверке XML на валидность, эта адская регулярка — не лучший способ достичь желаемого. Используя встроенные средства .NET, типа XmlDocument или XmlReader, можно было бы написать куда более читаемый и понятный код, который бы едва ли работал медленнее, зато поддерживать его было бы куда проще.
0
автор явно думал что UTF-16 это тоже самое что UCS-2, а, оно, внезапно, оказалось не так…
+2
Еще одно подтверждение что решение MS использовать UTF16 было неправильным. Если уж в самом фреймворке косяки, страшно представить что в аду энтерпрайза.
0
Решение это было принято при разработке Windows NT еще до юникода 2-ой версии (96 год). Тогда было только 65535 кодовых точек. Потом юникод расширился, а апи-то новое уже написано. Что, еще раз переписывать? Так и осталось.
Но да, проблем с этим много. В том числе в моем любимом C++: широкие строкb (wstring) по стандарту гарантируют, что 1 ячейка — 1 символ. В этом их преимущество над обычными строками. В gcc все хорошо, там UTF-32/UCS-4. Жутко застратно по памяти, зато все строго и хорошо. Майкрософт понимали, что C++ должен быть быстрым, а значит, нужно использовать готовые API фукнции. А значит использовать «API-шный» юникод — UTF-16. В итоге да, это все тянется и тянется.
Впрочем, если быть недостаточно строгим и знать, что код 100% не будет использоваться в азии, можно и забить и считать, что в UTF-16 отсутствуют суррогаты. Так многие долгое время и делали (изярких примеров: адресная строка оперы и виндовый блокнот). И ничего, раболо же, пусть и в ущерб китайцам.
Но да, проблем с этим много. В том числе в моем любимом C++: широкие строкb (wstring) по стандарту гарантируют, что 1 ячейка — 1 символ. В этом их преимущество над обычными строками. В gcc все хорошо, там UTF-32/UCS-4. Жутко застратно по памяти, зато все строго и хорошо. Майкрософт понимали, что C++ должен быть быстрым, а значит, нужно использовать готовые API фукнции. А значит использовать «API-шный» юникод — UTF-16. В итоге да, это все тянется и тянется.
Впрочем, если быть недостаточно строгим и знать, что код 100% не будет использоваться в азии, можно и забить и считать, что в UTF-16 отсутствуют суррогаты. Так многие долгое время и делали (изярких примеров: адресная строка оперы и виндовый блокнот). И ничего, раболо же, пусть и в ущерб китайцам.
+2
UFO just landed and posted this here
Sign up to leave a comment.
Articles
Change theme settings
.Net, UTF-16 и регулярные выражения