转自http://guanhuaing.iteye.com/blog/1498891

代码如下

report zrich_0001.

data: s type string,

h(1) type x,

c(1) type c,

byte(2) type c,

length type i,

l_bindata type xstring,

l_cntbin TYPE sdokcntbins.

FIELD-SYMBOLS: .

s = 'This Is A String!'.

length = strlen( s ).

* Use Write to Convert String to XSTRING

write:/ 'Use Write to Convert String to XSTRING' .

ULINE /1(80).

New-line.

do length times.

byte = ( sy-index - 1 ).

c = s+byte(1).

* You can do this

ASSIGN h TO TYPE 'X'.

WRITE c TO .

write: h.

enddo.

* Use Function to Convert String to XSTRING

call function 'SCMS_STRING_TO_XSTRING'

exporting

text = s

* MIMETYPE = ' '

importing

buffer = l_bindata

exceptions

failed = 1

others = 2

.

if sy-subrc = 0.

ULINE /1(80).

write:/ 'Use Function to Convert String to XSTRING'.

ULINE /1(80).

write:/ l_bindata.

endif.

*

** 1. Convert input-table to XSTRING

*CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'

* EXPORTING: input_length = length

* IMPORTING: buffer = l_bindata

* TABLES: binary_tab = l_cntbin

* EXCEPTIONS: failed = 1

* OTHERS = 2.

*IF sy-subrc <> 0.

*ENDIF.

* 2. Convert XSTRING to STRING

clear length.

CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'

EXPORTING:

buffer = l_bindata

IMPORTING:

output_length = length

TABLES:

binary_tab = l_cntbin.

if sy-subrc = 0.

CALL FUNCTION 'SCMS_BINARY_TO_STRING'

EXPORTING

INPUT_LENGTH = length

IMPORTING

TEXT_BUFFER = S

OUTPUT_LENGTH = length

TABLES

BINARY_TAB = l_cntbin

* EXCEPTIONS

* FAILED = 1

* OTHERS = 2

.

IF SY-SUBRC <> 0.

ULINE /1(80).

write:/ 'Convert XSTRING to output-table'.

ULINE /1(80).

write:/ s.

endif.

endif.

3 Decode base64 (TYPE STRING) into plaintext (TYPE STRING).

FORM encode_base64 USING plaintext base64.

CHECK plaintext IS NOT INITIAL.

CONSTANTS:

lc_op_enc TYPE x VALUE 36.

DATA:

l_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 = strlen( plaintext ).

lr_conv->write( data = 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. "#EC CI_CCALL

ENDFORM.

相关函数

SCMS_STRING_TO_XSTRING

'ECATT_CONV_XSTRING_TO_STRING'

SCMS_BINARY_TO_XSTRING

abap 转换成字符串_ABAP--关于字符串String到XString XString to String转换代码相关推荐

  1. c# 科学计数法值转换成正常值,返回字符串

    /// <summary>/// 科学计数法值转换成正常值/// </summary>/// <param name="value"></ ...

  2. java 16进制数组 字符串_byte数组转换成16进制字符串和字符数组的方法

    byte数组转换成16进制字符串String: public class CommonUtil { /** * byte数组转换成16进制字符串 * @param src * @return */ p ...

  3. 将字符串转换为日期,将日期转换成指定格式的字符串

    /**   * 将字符串转换为日期   * @param str   * @return   */  public static Date toDate(String str){   DateForm ...

  4. php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!

    php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!经过查找居然如此简单,一个函数就搞定了. 数据库脚本: -- -------------------- ...

  5. php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串

    php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!经过查找居然如此简单,一个函数就搞定了. 数据库脚本: -- -------------------- ...

  6. php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!编辑

    php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!经过查找居然如此简单,一个函数就搞定了. 数据库脚本: -- -------------------- ...

  7. mysql longblob 转换_php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!...

    php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!经过查找居然如此简单,一个函数就搞定了. 数据库脚本: -- -------------------- ...

  8. 如何批量将Word转换成PDF?这几种方法都可以实现批量转换

    怎么把Word文档批量转换成PDF格式呢?我们在日常的工作学习中,经常会使用Word文档来编辑文件,把文件编辑好后在发送的时候一般都会选择PDF格式来发送,,因为这样我们编辑好的格式才不会混乱.当我们 ...

  9. JPG怎么转换成PDF?用迅读PDF大师,一键批量转换

    作为学生党,PDF软件是必备的工具,不仅在电子书阅读.论文撰写等场景会用到,同学老师之间资料共享也多为PDF格式.除了学习用途,其实PDF软件还可以用来保存照片,相信很多同学都不知道吧.比如,又到草长 ...

  10. php 将一个字符串转换成数组,PHP将一个字符串转换成数组

    PHP将一个字符串转换成数组,支持中文/** * 将一个字符串转换成数组,支持中文 * @param string $string 待转换成数组的字符串 * @return string 转换后的数组 ...

最新文章

  1. c#NPOI读取excel 比interop和Microsoft.Jet.OLEDB.4.0 之类 的好的多
  2. 解决 minicom 不能接收键盘输入问题
  3. 药品查询APP开发流程(七)--开发—yao.js
  4. 爸爸我爱您(之十二)
  5. [react] react的书写规范有哪些
  6. hdu4825 字典树 XOR
  7. jenkins配置用户权限
  8. UI实用素材|字体在设计中的重要性
  9. linux配置conf_如何使用mssql-conf和其他可用工具在Linux上配置SQL Server 2017
  10. ubuntu下弹框提醒
  11. 安卓TV开发(前言)— AndroidTV模拟器初识与搭建
  12. 修改服务器cimc地址,【交换机在江湖】实战案例十三 HUAWEI S系列交换机802.1x特性对接H厂商IMC服务器配置指导...
  13. 独自封装windows 10系统详细教程(二)
  14. 马尔可夫链预测模型的应用——以安徽各城市人均GDP预测为例
  15. Android12及所有版本解决没有system读写权限(只需要magisk面具)
  16. linux自动清除超出的文件,Linux下面自动清理超过指定大小的文件
  17. Java毕设项目大学生校园兼职系统计算机(附源码+系统+数据库+LW)
  18. 支付宝 微信后台不死的黑科技
  19. nokogiri 足球比赛数据
  20. 华为“天才少年” DIY 生日礼物:四个月打造能缝葡萄的机械臂!

热门文章

  1. oracle -239报错,解决: ./check_oracle_health --connect orcl --mode connection-time 报错的问题...
  2. GitLab五种权限
  3. 利用python生成一个导出数据库的bat脚本文件
  4. Linux获取线程id的方法学习
  5. python中使用sys模板和logging模块获取行号和函数名的方法
  6. python对找到的匹配项作处理后再替换回去
  7. 使用pdb调试Python程序
  8. linux内核字符设备文件的自动创建
  9. React开发(246):react项目理解 this打印
  10. 前端学习(3295):清除effect