Conversion

Conversion

Los archivos PSD almacenan la mayoría de los campos binarios en orden de bytes big-endian. BigEndianBitConverter lee un entero de 32 bits big-endian directamente de un array de bytes, para los casos en que trabajas con bytes crudos tú mismo — por ejemplo, de un recurso de imagen no reconocido.


Decodificando un valor de 32 bits big-endian

from aspose_psd_foss.bigendianbitconverter import BigEndianBitConverter

data = bytes([0x00, 0x00, 0x04, 0x10])  # example 4-byte big-endian field
value = BigEndianBitConverter.to_int32(data, 0)
print(f"Decoded value: {value}")  # 1040

to_int32(byte_array, offset) lee 4 bytes a partir de offset y los combina con el byte más significativo primero.


Consejos y mejores prácticas

  • BigEndianBitConverter proporciona to_int32 solo en esta compilación FOSS — para valores big-endian de 16 bits o 64 bits, decodifica manualmente con el int.from_bytes(data, byteorder="big") incorporado de Python.
  • Esta utilidad es para bytes sin procesar que ya has obtenido (ver Resources) — la carga, edición y guardado normales de documentos nunca lo requieren directamente.

Problemas comunes

ProblemaCausaCorrección
IndexError llamando a to_int32La matriz de bytes tiene menos de 4 bytes disponibles a partir de offsetVerifique len(byte_array) >= offset + 4 antes de llamar

FAQ

¿Necesito esto para la edición normal de documentos?

No — es una utilidad de bajo nivel para bytes sin procesar que has obtenido tú mismo. La carga, edición y guardado típicos (ver Núcleo API) nunca lo requiere directamente.


API Reference Resumen

Clase/MétodoDescripción
BigEndianBitConverter.to_int32(byte_array, offset)Decodifica un entero de 32 bits big-endian

Ver también

 Español