[ABAP] Binärdaten (xstring) mit GZIP komprimieren

DATA: lv_str TYPE string VALUE 'Teststring für die Kompression mit GZIP.'.
DATA: lv_xstr TYPE xstring.
DATA: lv_xstr_comp TYPE xstring.

* string (UTF-8) -> xstring (binary)
DATA(o_conv_w) = cl_abap_conv_out_ce=>create( encoding = 'UTF-8' ).
o_conv_w->write( data = lv_str ).
lv_xstr = o_conv_w->get_buffer( ).

WRITE: / lv_xstr.

* compress
cl_abap_gzip=>compress_binary( EXPORTING
                                 raw_in   = lv_xstr
                               IMPORTING
                                 gzip_out = lv_xstr_comp ).
WRITE: / lv_xstr_comp.

* uncompress
cl_abap_gzip=>decompress_binary( EXPORTING
                                   gzip_in = lv_xstr_comp
                                 IMPORTING
                                   raw_out = lv_xstr ).

WRITE: / lv_xstr.

* xstring (binary) -> string (UTF-8)
DATA(o_conv_r) = cl_abap_conv_in_ce=>create( input = lv_xstr encoding = 'UTF-8' ).
o_conv_r->read( IMPORTING data = lv_str ).

WRITE: / lv_str.