>>cres=ByteA2Str( replicate( 'a\000', 10**7) ) >> >>FUNCTION ByteA2Str( cStr ) >>LOCAL cTempFN >>cTempFN = SYS(2015)+'.bin' >>Bytea2File( m.cStr, m.cTempFN ) >>LOCAL cRes >>cRes= FILETOSTR(m.cTempFN) >>DELETE FILE (m.cTempFN) >>RETURN m.cres >> >>PROCEDURE BYTEA2File( cBytea, cFN ) >>LOCAL cInpFn, inp, x, cchar, cchar1, cchar2, cchar3 >>cInpFn= SYS(2015)+'.txt' >>STRTOFILE( m.cBytea, m.cInpFn) >>inp = FOPEN(m.cInpFn,0) >>nlen=LEN(m.cByteA) >>x = FCREATE(m.cFN) >>DO WHILE !FEOF(m.inp) >> cchar = FREAD(m.inp,1) >> IF m.cchar#'\' >> FWRITE(m.x, m.cchar ) >> LOOP >> ENDIF >> >> cchar1 = FREAD(m.inp,1) >> IF m.cchar1='\' >> FWRITE(m.x, m.cchar1 ) >> LOOP >> ENDIF >> >> cchar2 = FREAD(m.inp,1) >> cchar3 = FREAD(m.inp,1) >> >> IF !BETWEEN(m.cchar1, '0','7') OR ; >> !BETWEEN(m.cchar2, '0','7') OR !BETWEEN(m.cchar3, '0','7') >> ERROR 'Non-octal digit after \ '+ m.cFn >> ENDIF >> >> FWRITE(m.x, CHR( VAL(m.cchar1)*64 + ; >> VAL(m.cchar2)*8 + ; >> VAL(m.cchar3) ) ) >> ENDDO >> >>FCLOSE(m.x) >>FCLOSE(m.inp) >>DELETE FILE (m.cInpFn) >>ENDPROC >>>