abap 转换成字符串_ABAP--关于字符串String到XString XString to String转换代码
转自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转换代码相关推荐
- c# 科学计数法值转换成正常值,返回字符串
/// <summary>/// 科学计数法值转换成正常值/// </summary>/// <param name="value"></ ...
- java 16进制数组 字符串_byte数组转换成16进制字符串和字符数组的方法
byte数组转换成16进制字符串String: public class CommonUtil { /** * byte数组转换成16进制字符串 * @param src * @return */ p ...
- 将字符串转换为日期,将日期转换成指定格式的字符串
/** * 将字符串转换为日期 * @param str * @return */ public static Date toDate(String str){ DateForm ...
- php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!
php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!经过查找居然如此简单,一个函数就搞定了. 数据库脚本: -- -------------------- ...
- php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!经过查找居然如此简单,一个函数就搞定了. 数据库脚本: -- -------------------- ...
- php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!编辑
php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!经过查找居然如此简单,一个函数就搞定了. 数据库脚本: -- -------------------- ...
- mysql longblob 转换_php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!...
php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!经过查找居然如此简单,一个函数就搞定了. 数据库脚本: -- -------------------- ...
- 如何批量将Word转换成PDF?这几种方法都可以实现批量转换
怎么把Word文档批量转换成PDF格式呢?我们在日常的工作学习中,经常会使用Word文档来编辑文件,把文件编辑好后在发送的时候一般都会选择PDF格式来发送,,因为这样我们编辑好的格式才不会混乱.当我们 ...
- JPG怎么转换成PDF?用迅读PDF大师,一键批量转换
作为学生党,PDF软件是必备的工具,不仅在电子书阅读.论文撰写等场景会用到,同学老师之间资料共享也多为PDF格式.除了学习用途,其实PDF软件还可以用来保存照片,相信很多同学都不知道吧.比如,又到草长 ...
- php 将一个字符串转换成数组,PHP将一个字符串转换成数组
PHP将一个字符串转换成数组,支持中文/** * 将一个字符串转换成数组,支持中文 * @param string $string 待转换成数组的字符串 * @return string 转换后的数组 ...
最新文章
- c#NPOI读取excel 比interop和Microsoft.Jet.OLEDB.4.0 之类 的好的多
- 解决 minicom 不能接收键盘输入问题
- 药品查询APP开发流程(七)--开发—yao.js
- 爸爸我爱您(之十二)
- [react] react的书写规范有哪些
- hdu4825 字典树 XOR
- jenkins配置用户权限
- UI实用素材|字体在设计中的重要性
- linux配置conf_如何使用mssql-conf和其他可用工具在Linux上配置SQL Server 2017
- ubuntu下弹框提醒
- 安卓TV开发(前言)— AndroidTV模拟器初识与搭建
- 修改服务器cimc地址,【交换机在江湖】实战案例十三 HUAWEI S系列交换机802.1x特性对接H厂商IMC服务器配置指导...
- 独自封装windows 10系统详细教程(二)
- 马尔可夫链预测模型的应用——以安徽各城市人均GDP预测为例
- Android12及所有版本解决没有system读写权限(只需要magisk面具)
- linux自动清除超出的文件,Linux下面自动清理超过指定大小的文件
- Java毕设项目大学生校园兼职系统计算机(附源码+系统+数据库+LW)
- 支付宝 微信后台不死的黑科技
- nokogiri 足球比赛数据
- 华为“天才少年” DIY 生日礼物:四个月打造能缝葡萄的机械臂!
热门文章
- oracle -239报错,解决: ./check_oracle_health --connect orcl --mode connection-time 报错的问题...
- GitLab五种权限
- 利用python生成一个导出数据库的bat脚本文件
- Linux获取线程id的方法学习
- python中使用sys模板和logging模块获取行号和函数名的方法
- python对找到的匹配项作处理后再替换回去
- 使用pdb调试Python程序
- linux内核字符设备文件的自动创建
- React开发(246):react项目理解 this打印
- 前端学习(3295):清除effect