Supongo que te refieres a UCS-2 en vez de UTF-16. Esos dos son muy parecidos pero no son iguales. UTF-16 tiene casi los mismos problemas que UTF-8 y casi ninguna de sus ventajas. El parseo es más sencillo pero tienes caracteres de 2 y de 4 bytes (aunque los de cuatro sean poco comunes siguen estando ahí) así que sigues sin saber el tamaño del carácter hasta que no lo lees y no puedes indexar la cadena hasta que no la interpretas.
UCS-2 es la codificación que usan internamente Windows o Java --.NET creo que usa UTF-16-- y sus caracteres son de tamaño fijo... Entre comillas porque también puedes representar Unicode completo pero el proceso es más simple de tratar que con UTF-16.
Una pregunta, por curiosidad. Hoy en día ¿Para que necesitas saber cuantos carácteres tiene una cadena?
Para guardar en una base de datos, se sigue bastando con el strlen de toda la vida. Para saber cuanto ocupa de ancho una "frase".... ¿No preguntas al componente gráfico cuanto ocupa? (Porque las fuentes monoespace estan quedando en desuso).
En otros temas que se me ocurren (véase nombres de usuarios y contraseñas). Tampoco es mucho problema, ya que se revisan cada mucho tiempo, y podemos prescindir de algo de procesador.
Así pues... ¿Que uso haces de las cadenas que necesitas saber el ancho de los carácteres y es tan repetitiva que te importa sobremanera el rendimiento?
Re:La gran olvidada
(Puntos:1)UCS-2 es la codificación que usan internamente Windows o Java --.NET creo que usa UTF-16-- y sus caracteres son de tamaño fijo... Entre comillas porque también puedes representar Unicode completo pero el proceso es más simple de tratar que con UTF-16.
Re:La gran olvidada
(Puntos:1)( http://www.septeto.com/ | Última bitácora: Sábado, 01 Octubre de 2005, 13:34h )
Para guardar en una base de datos, se sigue bastando con el strlen de toda la vida. Para saber cuanto ocupa de ancho una "frase".... ¿No preguntas al componente gráfico cuanto ocupa? (Porque las fuentes monoespace estan quedando en desuso).
En otros temas que se me ocurren (véase nombres de usuarios y contraseñas). Tampoco es mucho problema, ya que se revisan cada mucho tiempo, y podemos prescindir de algo de procesador.
Así pues... ¿Que uso haces de las cadenas que necesitas saber el ancho de los carácteres y es tan repetitiva que te importa sobremanera el rendimiento?