CLASS zcl_abapgit_zlib_convert DEFINITION PUBLIC CREATE PUBLIC . PUBLIC SECTION. CLASS-METHODS hex_to_bits IMPORTING !iv_hex TYPE xsequence RETURNING VALUE(rv_bits) TYPE string . CLASS-METHODS bits_to_int IMPORTING !iv_bits TYPE clike RETURNING VALUE(rv_int) TYPE i . CLASS-METHODS int_to_hex IMPORTING !iv_int TYPE i RETURNING VALUE(rv_hex) TYPE xstring . ENDCLASS. CLASS ZCL_ABAPGIT_ZLIB_CONVERT IMPLEMENTATION. METHOD bits_to_int. DATA: lv_c TYPE c LENGTH 1, lv_bits TYPE string. lv_bits = iv_bits. WHILE NOT lv_bits IS INITIAL. lv_c = lv_bits. rv_int = rv_int * 2. rv_int = rv_int + lv_c. lv_bits = lv_bits+1. ENDWHILE. ENDMETHOD. METHOD hex_to_bits. DATA: lv_x TYPE x LENGTH 1, lv_c TYPE c LENGTH 1, lv_bit TYPE i, lv_hex TYPE xstring. lv_hex = iv_hex. WHILE NOT lv_hex IS INITIAL. lv_x = lv_hex. DO 8 TIMES. lv_bit = sy-index. GET BIT lv_bit OF lv_x INTO lv_c. CONCATENATE rv_bits lv_c INTO rv_bits. ENDDO. lv_hex = lv_hex+1. ENDWHILE. ENDMETHOD. METHOD int_to_hex. DATA: lv_x TYPE x. lv_x = iv_int. rv_hex = lv_x. ENDMETHOD. ENDCLASS.