Programación General > Pascal

 Codigo ASCII extendido

(1/1)

digimouse:
Hola foro, lo que sucede es que necesito procesar un archivo de texto escrito en español latino (con acentos y ñ) al poner un if (c="á") then, para la letra a con acento agudo me marca error, he intentado hacer con el ascii extendido y queda asi if (c=#160) then, pero entonces simplemente ignora el caracter, he notado que ocurre con todos los caracteres del ascii extendido, ¿alguno de ustedes buenos programadores sabe como arreglar esto?  :oops:

Amilius:
Hay varias codificaciones y tienes que poner claro cual usarás. Existen varias y no puedes diferenciar entre todas automáticamente. Por ejemplo Notepad sólo diferencia entre UTF16 y UTF8 si el archivo comienza con BOM*. Todo lo demás lo toma como ASCII extendido para windows, que es distinto del ASCII extendido para DOS. Mientras que 'á' es 160 en DOS en windows 'á' es 225.

* http://en.wikipedia.org/wiki/Byte_order_mark

DriverOp:
Prueba con...

--- Código: Pascal --- if (ord(c) = 160) then ...  Asumiendo que c es de tipo char.

Navegación

[0] Índice de Mensajes

Ir a la versión completa