Responder preguntas y utilizar
Se agregó New UnicodeString. ¿Por qué no utilizar el WideString anterior? WideString en realidad se produce para facilitar el uso de COM, esto es BSTR.
BSTR no cuenta con recuento de referencias y es muy ineficiente. UnicodeString es la verdadera versión Unicode de AnsiString.
Por lo tanto, Delphi 2009 tiene tres tipos de cadenas: AnsiString, WideString y UnicodeString. La cadena predeterminada es UnicodeString.
Los tipos relacionados correspondientes incluyen:
Ansistine-Pansichar-Ansistine? (Esto podría tener... en realidad no lo es, JclAnsiStrings.pas es un reemplazo.)
WideString-PWideChar-TWideStrings(WideString . pas)
unicode string-PWideChar-TStrings ( clases . pas)
En aplicaciones prácticas, generalmente se debe utilizar UnicodeString. AnsiString se puede utilizar para procesar texto Ansi cuando la eficiencia es la primera prioridad. Y WideString solo usa COM
Solo si es compatible con versiones anteriores.
Varios caracteres relacionados con la unidad: (D2009 es un poco confuso)
Stratis. pas: controlador de cadenas Unicode.
Asignación. Pas: controlador de cadenas ansi.
Ampliastrutils. Controlador de pas:widestring.
Cuerda ancha. Implementación de pas:twidestringlist.
Clase. Implementación de pas:tstringlist.
JCLANSISTRING. PAS: Implementación de la lista de clasificación de TJ. Aunque se trata de una biblioteca de terceros, debo mencionar ¿quién hizo que CodeGear se negara a agregarla?
VCL de Delphi 2009 utiliza completamente UnicodeString y es totalmente compatible con Unicode. El control TNT Unicode finalmente completó su gloriosa misión histórica.
Es comprensible que VCL no admitiera Unicode al comienzo de su diseño, pero después de tantos años, todavía no ha cambiado en medio de la marea de internacionalización. Este es un gran error.
Después de esperar 13 años, la azucena está fría. De todos modos, el Delphier actual puede utilizar Unicode de forma segura.
Acerca de UTF8String. UTF8String es una respuesta de la versión anterior y no tiene características especiales. En Delphi 2009,
UTF8String es el UTF8 real. Si se asigna un AnsiString a un UTF8String, Delphi 2009 convertirá automáticamente el formato a UTF8String.
Esto es mucho más conveniente que antes.
Acerca de RawByteString Esto puede resultar útil en algunas situaciones. Si tiene una función que acepta AnsiString o UTF8String, pero no desea la conversión automática, puede sobrecargar e implementar dos funciones para manejar AnsiString y UTR8String respectivamente. Otra opción es usar RawByteString, así que adelante y pásalo.
Ya sea AnsiString o UTF8String, RawByteString permanecerá fielmente sin cambios sin ninguna conversión.