1.方法一:GBK2UTF8
入参:GBKSTR TYPE STRING,
出参:UTF8 TYPE STRING.
1 METHOD gbk2utf8. 2 DATA:mimetype(128) TYPE c, 3 xstr TYPE xstring, 4 codepage(4) TYPE n, 5 encoding(20) TYPE c, 6 convin TYPE REF TO cl_abap_conv_in_ce. 7 mimetype = `"text/html;charset='GBK'`. 8 9 CALL FUNCTION 'SCMS_STRING_TO_XSTRING' 10 EXPORTING 11 text = gbkstr 12 mimetype = mimetype 13 IMPORTING 14 buffer = xstr 15 EXCEPTIONS 16 failed = 1 17 OTHERS = 2. 18 19 CALL FUNCTION 'SCP_CODEPAGE_BY_EXTERNAL_NAME' 20 EXPORTING 21 external_name = 'UTF-8' 22 IMPORTING 23 sap_codepage = codepage 24 EXCEPTIONS 25 not_found = 1 26 OTHERS = 2. 27 28 encoding = codepage. 29 convin = cl_abap_conv_in_ce=>create( encoding = encoding input = xstr ). 30 CALL METHOD convin->read( IMPORTING data = utf8str ). 31 ENDMETHOD.
2.方法二:STR2BASE64
入参:
STR TYPE STRING,
CHARSET TYPE STRING DEFAULT 'utf-8',
REPLACE )TYPE ABAP_BOOL.(可选)
出参:
BASE64STR TYPE STRING.
1 METHOD str2base64. 2 DATA:mimetype(128) TYPE c, 3 xstr TYPE xstring. 4 mimetype = `"text/html;charset=` && charset && `"`. 5 6 CALL FUNCTION 'SCMS_STRING_TO_XSTRING' 7 EXPORTING 8 text = str 9 mimetype = mimetype 10 IMPORTING 11 buffer = xstr 12 EXCEPTIONS 13 failed = 1 14 OTHERS = 2. 15 16 CALL FUNCTION 'SCMS_BASE64_ENCODE_STR' 17 EXPORTING 18 input = xstr 19 IMPORTING 20 output = base64str. 21 IF replace = abap_true. 22 REPLACE ALL OCCURRENCES OF '+' IN base64str WITH '_'. 23 ENDIF. 24 ENDMETHOD.
3.方法三:BASE642STR
入参:
BASE64STR TYPE STRING
CHARSET TYPE STRING
REPLACE TYPE ABAP_BOOL (可选)
出参:
STR TYPE STRING
1 METHOD base642str. 2 * 参考 HR_KR_STRING_TO_XSTRING 3 * HR_KR_XSTRING_TO_STRING 4 DATA:xstr TYPE xstring, 5 codepage(4) TYPE n, 6 encoding(20) TYPE c, 7 convin TYPE REF TO cl_abap_conv_in_ce. 8 9 IF replace = abap_true. 10 REPLACE ALL OCCURRENCES OF '_' IN base64str WITH '+'. 11 ENDIF. 12 13 CALL FUNCTION 'SCMS_BASE64_DECODE_STR' 14 EXPORTING 15 input = base64str 16 IMPORTING 17 output = xstr 18 EXCEPTIONS 19 failed = 1 20 OTHERS = 2. 21 22 CALL FUNCTION 'SCP_CODEPAGE_BY_EXTERNAL_NAME' 23 EXPORTING 24 external_name = charset 25 IMPORTING 26 sap_codepage = codepage 27 EXCEPTIONS 28 not_found = 1 29 OTHERS = 2. 30 31 encoding = codepage. 32 convin = cl_abap_conv_in_ce=>create( encoding = encoding input = xstr ). 33 CALL METHOD convin->read( IMPORTING data = str ). 34 ENDMETHOD.
STRING和XSTRING互转:
本文来自博客园,作者:Lovemywx2,转载请注明原文链接:https://www.cnblogs.com/1187163927ch/p/16454624.html