![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Uft-8 en TStringStream
Buen día. Tengo el siguiente código en donde recibo los datos pero no los recibo en UTF-8 como le indico, sino en Unicode. Cómo puedo hacer para recibir la codificación correcta?
|
#2
|
||||
|
||||
Unicode, simplificando, es la lista de caracteres.
Utf8 es una de las formas de representarlos. Tu código funcionará bien, los caracteres utf8 pertenecen al grupo de caracteres unicode. Al igual que los utf16, utf32, etc. todos muestran/representan los caracteres unicode.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Gracias por responder, pero creo que mi pregunta no fue clara. Me refiero a cómo puedo recibir la respuesta codificada en utf8 y evitar que me aparezcan los códigos unicode por ejemplo en los acentos?
|
#4
|
|||
|
|||
Para recibir y mostrar correctamente texto codificado en UTF-8 en Delphi (especialmente versiones como Delphi 7 que no tienen soporte nativo de UTF-8 en los AnsiString), necesitas realizar algunas conversiones manuales o usar componentes que manejen UTF-8 adecuadamente.
✅ Delphi moderno (Delphi XE en adelante) Si estás usando una versión moderna de Delphi (Delphi XE+), puedes trabajar directamente con UTF8String y UnicodeString, ya que la clase String es UnicodeString por defecto.
🧵 Delphi 7 o versiones antiguas (AnsiString por defecto) Delphi 7 no trabaja de forma nativa con UTF-8, pero puedes usar una función como esta para convertir una cadena en UTF-8 a WideString o string legible: ✅ Opción 1: Usar UTF8Decode (de SysUtils)
🔴 Nota importante: UTF8Decode solo convierte UTF-8 en bytes, no convierte automáticamente los \uXXXX (Unicode escapes como \u00e9), esos debes convertirlos manualmente si vienen así (como en JSON). ✅ Para reemplazar \uXXXX por caracteres reales (por ejemplo, en respuestas JSON) Puedes usar una función como esta para convertir los \uXXXX en caracteres legibles:
EJEMPLO DE USO:
🔧 Si estás trabajando con HTTP (como REST/JSON): Asegúrate de que el componente (como IdHTTP, Synapse, HttpClient) esté configurado para recibir texto como UTF-8:
Luego haz la conversión adecuada al recibir la respuesta. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Vaciar el contenido de un TStringStream | adebonis | Varios | 5 | 04-02-2019 17:26:55 |
TRichEdit, TStringStream y cierto error que no logro "cachar"... | TiammatMX | OOP | 2 | 12-05-2012 00:36:18 |
![]() |
|