如何將xstring中多餘的00去掉
現在的sap系統都是unicode的,所以每一個字元都會用雙位元組表示。
如字元S,對應的ascii碼為53,但在sap系統中debug時你看到的是5300.
如果我們一開始拿到的是53000A00這個xstring值,怎麼才能將其轉成530A呢。(直接替換0顯然是不合適的)
可通過以下程式碼實現:
DATA : str TYPE string VALUE 'S', xstr TYPE xstring, lt_binary TYPE TABLE OF solix. DATA : lo_conv TYPE REF TO cl_abap_conv_x2x_ce. xstr = '53000A00'. WRITE :/ 'unicode十六進位制值:',xstr. ** 二進位制由4103轉4110 TRY. CALL METHOD cl_abap_conv_x2x_ce=>create EXPORTING in_encoding = '4103' "uft-16le,雙位元組,存在位元組浪費 out_encoding = '4110' "uft-8,自壓縮格式,東亞字雙位元組,歐美單位元組 input = xstr RECEIVING conv = lo_conv. CATCH cx_parameter_invalid_type . CATCH cx_parameter_invalid_range . CATCH cx_sy_codepage_converter_init . ENDTRY. lo_conv->convert_c( ). CLEAR xstr. xstr = lo_conv->get_out_buffer( ). WRITE : / 'uft-8十六進位制值:',xstr.
執行結果:
unicode十六進位制值: 53000A00
uft-8十六進位制值: 530A
----------------------------------------------------------------------
ps:string轉xstring,可使用函式SCMS_STRING_TO_XSTRING。
***字串轉hex字串,encoding系統預設4110 * CALL FUNCTION 'SCMS_STRING_TO_XSTRING' * EXPORTING * text = str * encoding = '4103' * IMPORTING * buffer = xstr * EXCEPTIONS * failed = 1 * OTHERS = 2.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7714329/viewspace-2661551/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 加入了trim()方法,沒有去掉多餘空格
- PHP ZipArchive 解壓縮時,去掉zip包裡的多餘目錄層級PHPHive
- python如何去掉字串中的空格Python字串
- Python如何刪除字串中多餘空白字元?Python字串字元
- Linux多ip地址如何刪除多餘ipLinux
- 如何獲取昨天 00:00的毫秒數
- Java拼接字串時,去掉最後一個多餘的逗號,或者Java刪除某個字元Java字串字元
- MacBook Pro如何刪除多餘的專注模式Mac模式
- win10硬碟把多餘的改到C盤中怎麼操作 win10如何把多餘的硬碟空間分給c盤Win10硬碟
- 如何Super Vectorizer從Mac 上的影像中刪除多餘的顏色區域?Mac
- win10如何刪去多餘的本地連線_win10刪除多餘本地連線的方法Win10
- 如何去掉自己CSDN中圖片水印
- 執行緒池中多餘的執行緒是如何回收的?執行緒
- Hibernate/JPA如何保證不生成多餘的SQL語句?SQL
- 如何刪除MacBook Pro多餘專注模式呢?Mac模式
- 如何刪除Git倉庫中冗餘的tag?Git
- win10刪除多餘啟動項怎麼操作 win10如何刪除多餘的開機啟動項Win10
- 如何刪除win10多餘的開機啟動項_win10刪除多餘的系統啟動項步驟Win10
- Kotlin實戰:使用DSL構建結構化API去掉冗餘的介面方法KotlinAPI
- Python中如何取餘數?建議收藏!Python
- shell 給字串增加單引號,並移除字串中多餘的空格字串
- Python如何去掉字串空格?Python字串
- Linux刪除多餘核心Linux
- delphi清理txt檔案多餘的空格
- Centos 6.9 刪除多餘的核心版本CentOS
- mysql-timestamp 0000-00-00 00:00:00 Invalid default valueMySql
- 去掉vs中的console的黑視窗
- 解決 Incorrect datetime value: '0000-00-00 00:00:00' 報錯
- Kubernetes-23:詳解如何將CPU Manager做到遊刃有餘
- CSV中欄位的去掉雙引號
- 如何去掉bootstrap table中表格樣式中橫線豎線boot
- 踩坑記:mysql timeStamp預設值0000-00-00 00:00:00 報錯MySql
- Laravel 5中去掉URL中的public路徑方法Laravel
- 餘數的餘數
- Python如何去掉字串所有空格?Python字串
- Mac如何去掉重複照片:PowerPhotosMac
- 直播app開發搭建,element plus中的el-link如何去掉下劃線APP
- win10怎麼刪掉多餘賬戶_win10系統怎麼刪除多餘的賬戶Win10