[ Foro de Pascal ]

chr en lazarus

14-Jul-2014 20:50
Invitado (antonio)
4 Respuestas

Tengo una duda sobre pascal. Con las funciones chr y ord puedo pasar de un código ascii al carácter y viceversa. Que funciones uso para obtener códigos utf-8?


14-Jul-2014 23:26
Luis Torres (+12)

En turbo pascal no se trabaja con utf-8, sino con el cp437 ó uno parecido. Turbo pascal maneja 256 caracteres nada más.
Saludos.


15-Jul-2014 14:21
Invitado (antonio)

Estoy usando lazarus con fpc. Fpc es todavía Turbo pascal ?


15-Jul-2014 15:56
Luis Torres (+12)

Disculpa.


15-Jul-2014 20:52
Nacho Cabanes (+31)

En principio, FreePascal busca compatibilidad con Turbo Pascal, así que no sé si podrás convertir directamente con "chr" y "ord", pero te doy tres ideas que quizá te ayuden:

- FreePascal tiene las funciones AnsiToUtf8 y Utf8ToAnsi, que te pueden ayudar a convertir.

- Si no, siempre puedes crearte un "case" que convierta los caracteres concretos que necesites (un editor avanzado, como Notepad++ o Geany te puede servir para guardar el mismo texto en ambos formatos y comparar).

- En Free Pascal, se puede forzar la salida en formato UTF-8 con la orden "SetConsoleOutputCP(CP_UTF8);" No sé si eso afectará también a las conversiones de caracteres individuales (no debería), pero es otro sitio por el que podrías hacer pruebas.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)