ANSI, UNICODE, Big Endian y UTF-8
Hola, amigos,
El otro día estaba intentando hacer un código para extraer el texto de un archivo UNICODE y ponerlo en un TMemo (por ejemplo). Usé los archivos de C:\WINDOWS\inf para probar. El resultado fue exitoso, pero surgieron nuevas dudas: Diferencia entre UNICODE, UNICODE Big Endian y UTF-8 Además, intenté hacer una función inverse (guardar el texto de un TMemo en un archivo UNICODE). La función está casi hecha, pero tiene un fallo. Aquí estan las dos: DE ARCHIVO UNICODE A TEXTO ANSI:
GUARDAR TEXTO ANSI EN ARCHIVO UNICODE
¿Alguien podría ayudarme a acabar la segunda función? ¿Alguien podría explicarme la diferencia entre UNICODE, Big Endian y UTF-8, y cómo cargar estos archivos en un TMemo? Muchísimas gracias. |
Personalmente la segunda función la haría de la siguiente manera:
En cuanto a tu función, ¿cual es exactamente el fallo que te da? |
|
Voy a contar una anécdota por si a alguien le puede ser de utilidad. Hace unos días un amigo intentaba enviar una cadena de texto a un teléfono móvil a través del bluetooth, este texto lo leía después en el móvil con un applet hecho en java. Para ello, inocentemente, usaba la instrucción ReadUTF de java. Pero algo fallaba, resulta que java tiene su propio formato para las cadenas UTF, hay que añadir al principio de cada cadena 2 bytes (el byte alto primero) que representan el tamaño en bytes de la cadena.
|
Cita:
Muchas gracias por la función (qué cortita, en comparación con la mía) Y gracias mamcx por el artículo |
Gracias otra vez por el artículo, he aprendido mucho.
seoane, la función que hiciste tiene un pequeño fallo: aquí va la corrección:
También he mejorado la mía (la que extrae el texto del archivo UNICODE). Aquí va:
Bueno, seguro que aún se puede mejorar. Hasta otra ;) |
Cita:
Esto:
Es lo mismo que esto:
No entiendo porque lo haces de la otra manera. Pero de ahí a decir que lo otro es un fallo :rolleyes: EDITO: Parece que en versiones anteriores de delphi (yo usaba el TurboDelphi), la instrucción que pongo yo se le atraganta. Pero todo tiene solución:
|
Gracias ixMike
este hilo me ha servido de maravillas :D Muchas gracias |
La franja horaria es GMT +2. Ahora son las 18:18:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi