lqp - Post a comment
[Recent Entries][Archive][Friends][User Info]
|
07:42 am besm6.livejournal.com[Link] | Пойду с конца.
1. Юникод не делает произвольный доступ непредсказуемо сложным. Массив машинных целых в доступе ничуть не сложнее массива байт, а за пределы машинного целого юникод выйдет еще, гм, нескоро - само машинное целое растет быстрее. Непредсказуемо сложной и глючной делает работу с текстом сам подход произвольного доступа. Провоцируя кодера использовать неадекватные средства работы с текстом, начиная с изобретения велосипеда. Перл, скажем, позволяет произвольный доступ. Но делает его достаточно неудобным/непривычным в записи, чтобы спровоцировать использование более адекватных средств.
2. При вводе-выводе у тебя все равно используется API. Только надо использовать адекватный API - для ввода-вывода символов, а не байт, как сейчас. У перловых read и print почему-то нет никаких проблем с вводом-выводом символов. А у сишных, что printf/scanf, что write/read - почему-то есть. К чему бы это?.. Ну да, при асинхронном вводе-выводе ты можешь оказаться в ситуации, что транспортный уровень донес до тебя нецелый символ. Ну так и сейчас ты можешь оказаться в ситуации, когда транспортный уровень принес тебе нецелую логическую единицу. Ситуация разрешается точно так же, только разрешение ее можно упрятать в API, а не развлекаться этим каждый раз вручную. А то, что единица транспортного уровня в принципе не может гарантированно вместить целый символ - мала слишком - это реальность. данная нам в ощущениях, с этим бороться невозможно.
|
|
|
| |