注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

原来为了你

我的人生就是要一次次的超越

 
 
 

日志

 
 
 
 

Base64 in abap  

2011-11-27 09:29:52|  分类: ABAP基础知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

data str1 type string value  'MTIz'.
data str2 type xstring.

perform encode_base64 using '123' str1.
perform decode_base64 using 'MTIz' str1.
*perform decode_base64_to_xstring using str1 str2.

write str1.
*write str2.
*&---------------------------------------------------------------------*
*&      Form  decode_base64
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
form decode_base64  using     base64     type string
                    
changing  plaintext  type string.

  
check base64 is not initial.

  
constantslc_op_dec type x value 37.
  
datal_xstr  type xstring,
        lr_conv 
type ref to cl_abap_conv_in_ce.

  
call 'SSF_ABAP_SERVICE'
    
id 'OPCODE'  field   lc_op_dec
    
id 'BINDATA' field   l_xstr
    
id 'B64DATA' field   base64.

  
try.
      lr_conv 
cl_abap_conv_in_ce=>createinput l_xstr ).
      lr_conv
->readimporting data plaintext ).

    
catch cx_sy_conversion_codepage.
      
clear plaintext.
      
message i999(samxwith text-004 text-005.
  
endtry.

endform.                    "decode_base64



*A small form routine to decode base64 (TYPE STRING) into xstring (TYPE XSTRING) :
form decode_base64_to_xstring using    i_base64   type string
                              
changing e_xstring  type xstring.

  
call function 'SSFC_BASE64_DECODE'
    
exporting
      b64data 
i_base64
    
importing
      bindata 
e_xstring
    
exceptions
      
others  8.

endform.                    "decode_base64
*A small form routine to convert plaintext (TYPE STRING) to base64 (TYPE STRING).

form encode_base64 using plaintext base64.
  
check plaintext is not initial.
  
constantslc_op_enc type x value 36.
  
datal_len type i,
        l_xstr 
type xstring,
        lr_conv 
type ref to cl_abap_conv_out_ce.

  lr_conv 
cl_abap_conv_out_ce=>create( ).
  l_len 
strlenplaintext ).
  lr_conv
->writedata plaintext n l_len ).
  l_xstr 
lr_conv->get_buffer( ).

  
call 'SSF_ABAP_SERVICE'
    
id 'OPCODE' field lc_op_enc
    
id 'BINDATA' field l_xstr
    
id 'B64DATA' field base64.

endform.                    "encode_base64

  评论这张
 
阅读(1524)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017