¿Por qué Delphi IBX TWideMemoField convierte el orden de bytes en la cadena UTF8 y cómo evitarlo?

Estoy usando Delphi 2009 con IBX en la base de datos Firebird 3 (no tengo opción de elegir otras tecnologías, tengo que adaptarme a la situación). Tengo las siguientes definiciones:

l campo @Firebird BLOB se define como:

BLOB SUB_TYPE 0 SEGMENT SIZE 80

TWideMemoField se define como:

object MainQryNOTES: TWideMemoField
  FieldName = 'NOTES'
  Origin = 'INVOICES.NOTES'
  ProviderFlags = [pfInUpdate]
  BlobType = ftWideMemo
end

La cadena de prueba es "Цель по инфляции,%" y en ella se puede leer desde el campo BLOB en el software IBExpert como:

26 04 35 04 3B 04 4C 04 20 00 3F 04 3E 04 20 00
38 04 3D 04 44 04 3B 04 4F 04 46 04 38 04 38 04
2C 00 20 00 25 00

Lo extraño es que Delphi invierte el orden de bytes, p. el carácter cirílico Ц tiene una representación HEX UTF8 como 04 26, pero se almacena en la base de datos como 26 04 y la situación similar es exactamente con los otros caracteres también (se puede verificar esto con la ayuda de tablashttps: //www.w3schools.com/charsets/ref_utf_basic_latin.as yhttps: //www.w3schools.com/charsets/ref_utf_cyrillic.as). En mi caso, solo tengo caracteres de 2 bytes, pero supongo que la situación similar será con caracteres UTF8 de 3 y 4 bytes también.

Entonces, ¿cómo puedo configurar TWideMemoField para pedir que no se convierta el orden de bytes de las cadenas UTF8?

Respuestas a la pregunta(1)

Su respuesta a la pregunta