SAP ABAP 理解RAWSTRING(XSTRING) 类型

news2025/7/18 9:10:52

用F1查看的时候,这里是这样说的:

The types RAWSTRING and STRING have a variable length. A maximum length for these types can be specified, but has no upper limit.

The type SSTRING is available as of release 6.10 and it has a variable length. Its maximum length must be specified and is limited to 255. The advantage of this type compared with CHAR, is that it is assigned to the ABAP type string.

效果如下:

用几个例子说明一下

例子1:

 DATA str TYPE sSTRING.

DATA str1 TYPE string.

DATA str2 TYPE xstring."这个就是rawstring类型

DATA STR3 TYPE STRING.

str = '好好学习'.

str1 = str.

str2 = str.

WRITE :/ 'str1:',str1.

ULINE.

WRITE :/ 'str2:',str2.

ULINE.

STR3 = STR2.

WRITE :/ 'str3:',STR3.

ULINE.

结果:

结论1:xstring不支持中文

例子二:

 DATA str TYPE sSTRING. 
DATA str1 TYPE string. 
DATA str2 TYPE xstring."这个就是rawstring类型 
DATA STR3 TYPE STRING. 
str = 'ABCDEFGH'. 
str1 = str. 
str2 = str. 
WRITE :/ 'str1:',str1. 
ULINE. 
WRITE :/ 'str2:',str2. 
ULINE. 
STR3 = STR2. 
WRITE :/ 'str3:',STR3. 
ULINE.

结果:

 

结论2:xstring支持6个字母

例子3:

DATA str TYPE sSTRING. 
DATA str1 TYPE string. 
DATA str2 TYPE xstring."这个就是rawstring类型 
DATA STR3 TYPE STRING. 
str = 'abcd'. 
str1 = str. 
str2 = str. 
WRITE :/ 'str1:',str1. 
ULINE. 
WRITE :/ 'str2:',str2. 
ULINE. 
STR3 = STR2. 
WRITE :/ 'str3:',STR3. 
ULINE.

结果:

 

结论3:Xstring不支持小写字母

例子4:

 DATA str TYPE sSTRING. 
DATA str1 TYPE string. 
DATA str2 TYPE xstring."这个就是rawstring类型 
DATA STR3 TYPE STRING. 
str = 'AaBbCc'. 
str1 = str. 
str2 = str. 
WRITE :/ 'str1:',str1. 
ULINE. 
WRITE :/ 'str2:',str2. 
ULINE. 
STR3 = STR2. 
WRITE :/ 'str3:',STR3. 
ULINE.

结果:

 

结论4:当xstring一旦遇到不支持的,立刻停止,还有,大家要注意后面的0

 例子5:

 DATA str TYPE sSTRING. 
DATA str1 TYPE string. 
DATA str2 TYPE xstring."这个就是rawstring类型 
DATA STR3 TYPE STRING. 
str = 'ABC'. 
str1 = str. 
str2 = str. 
WRITE :/ 'str1:',str1. 
ULINE. 
WRITE :/ 'str2:',str2. 
ULINE. 
STR3 = STR2. 
WRITE :/ 'str3:',STR3. 
ULINE.

结果:

 

结论5:如果xstring的变量,没有到6个字母的时候,都会后面补0

补充一个

结论6:我这里的str3都是用到str2的值,没经过处理,直接交给str3.

就是说,当一个xstring变量不支持的值,赋值给它的时候,它会取到自己能读取的部分,而且就算最后想还原,也不可能了。

所以,用xstring是一个很好的通信加密协议!!!!好好利用吧!!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/369419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java学习笔记——时间日期类

目录概述时间日期类——Date构造方法Date类的常用方法simpledateformate类练习:秒杀活动概述 时间日期类——Date构造方法 Date类的常用方法 package top.xxx.www.date;import java.util.Date;public class DateDemo {public static void main(String[] args) {Date…

2022年10+最好的LearnDash在线教育主题

如果您想在线发布课程或创建自己的学习管理系统 (LMS),最好的LearnDash在线教育主题集合可以提供帮助。尽管这些主题应该与所有最好的 WordPress 在线学习插件一起使用,但它们都是为与 LearnDash 无缝集成而构建的。由于 LearnDash 可能是 WordPress 最好…

软件测试岗的面试中经常会被问到的一些问题

一般软件测试的面试分为三轮:笔试,HR面试,技术面试。 前两轮,根据不同企业,或有或无,但最后一个技术面试是企业了解你“行不行”的关键环节,每个企业都会有的。 在平时的学习、工作中一定要善…

浏览器强缓存之强缓存和

http缓存控制 为什么需要缓存 为啥要缓存: 缓存的优点: 1)加快浏览器加载网页的速度,优化用户体验,让用户更快速的打开我们的网页; 2)减少对服务器的访问次数,减轻服务器的负担&a…

数据库(五)

第二部分 Redis 数据库 第一章 NoSQL介绍 1.1 什么是NoSQL NoSQL(Not Only SQL)即不仅仅是SQL,泛指非关系型的数据库,它可以作为关系型数据库的良好补充。随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个…

DC-1 靶场学习

以前写过了,有一些忘了,快速的重温一遍。 DC一共九个靶场,目标一天一个。 文章目录环境配置:信息搜集:漏洞复现:FLAG获取环境配置: 最简单的办法莫过于将kali和DC-1同属为一个nat的网络下。 信…

RK3568移植5G通信模组

5G通信模组这次移植的5G通信模组选择的是深圳广和通公司生产的FG650 5G通信模组,对外的通信数据接口为USB2.0, USB3.0两个接口。FG650模组默认工作在NCM驱动模式,如果不是可以通过串口发送AT指令ATGTUSBMODE36来修改成工作在NCM模式。linux内核代码的修改…

TX Text Control .NET Server for ASP.NET 31.0 SP2 CRK

用于 ASP.NET 31.0 SP2 的 TX 文本控件 .NET 服务器 用于 ASP.NET 的 TX 文本控件 .NET 服务器 TX Text Control Server for ASP.NET 是用于 Web 应用程序或服务的服务器端组件。它是一个完全可编程的 ASP.NET 文字处理器引擎,提供了广泛的文字处理功能。使用 TX Te…

MySQL Administrator定时备份MySQL数据库

1、下载并安装软件mysql-gui-tools-5.0-r17-win32.exe 2、将汉化包zh_CN文件夹拷贝到软件安装目录 3、菜单中打开MySql Adminstrator,见下图,初次打开无服务实例。 点击已存储连接右侧按钮①,打开下图对话框。点击“新连接”按钮&#xff…

构建matter over Thread的演示系统-efr32

文章目录1. 简介2. 构建测试系统2.1设置 Matter Hub(Raspberry Pi)2.2 烧录Open Thread RCP固件2.3 烧录待测试的matter设备3. 配网和测试:3.1 使用mattertool建立Thread网络3.2 使用mattertool配置设备入网3.3 使用mattertool控制matter设备3.4 查看节点的Node ID等…

如何高效管理自己的时间,可以从这几个方向着手

如果你是上班族,天选打工人,你的绝大多数时间都属于老板,能够自己支配的时间其实并不多,所以你可能察觉不到时间管理的重要性。但如果你是自由职业者或者创业者,想要做出点成绩,那你就需要做好时间管理&…

Ingress-nginx 部署及模拟实战

写在最前面,博主希望大家看这篇文章过程中,重点看实例演示,因为我觉得部署安装,网上千篇一律,如果按照网上的教程安装不成功,要么网上省略了一部分没写,要么你的基础环境和人家的不一样&#xf…

web接入大华摄像头实时视频

目录 一、FFmpeg下载及配置​​​​ 二、nginx下载及配置 三、摄像rtsp取流 四、ffmpeg推流 五、html前端工作 一、FFmpeg下载及配置​​​​ 地址:Download FFmpeg 下载并解压FFmpeg文件夹,配置环境变量:在“Path”变量原有变量值内容…

直播平台的视频美颜sdk是什么?

直播平台的视频美颜sdk是什么,可以做什么?简而言之,直播美颜sdk是将直播平台的视频美颜效果做成一个sdk,给用户提供美颜效果选择,同时提供不同的视频分辨率,可以让用户在观看直播时有更好的体验。那么具体有…

230224-Zotero-坚果云-MacOS/PadOS同步注意事项

Background Zotero的设置参考了这篇文章,随时随地看文献 —— Zotero 与 iPad 的巧妙搭配(wiz坚果云) 注意事项1 路径: 可自定义或使用默认路径(记得在坚果云根目录下创建zotero文件夹)密码:…

良许也成为砖家啦~

大家好,我是良许。 没错,良许成为砖家啦,绝不是口嗨,有图有真相! 有人会说,咦,这明明是严宇啊,跟你良许有啥关系? 额。。老读者应该知道良许的来历—— 鄙人真名严宇&a…

一文深入分析-内核并发消杀器(KCSAN)

一、KCSAN介绍 KCSAN(Kernel Concurrency Sanitizer)是一种动态竞态检测器,它依赖于编译时插装,并使用基于观察点的采样方法来检测竞态,其主要目的是检测数据竞争。 KCSAN是一种检测LKMM(Linux内核内存一致性模型)定义的数据竞争(data race…

DataWhale 大数据处理技术组队学习task4

五、分布式并行编程模型MapReduce 1. 概述 1.1 分布式并行编程 背景:摩尔定律已经开始逐渐失效,提升数据处理计算能力刻不容缓。传统的程序开发与分布式并行编程 传统的程序开发:以单指令、单数据流的方式顺序执行,虽然这种方式…

重走前端路JS进阶篇:This 指向与箭头函数

JavaScript 高级 This 指向规则 案例 function foo() {console.log(this)}// 1 调用方式1foo();// 2 调用方式2 放入对象中调用var obj {name: "why",foo: foo}obj.foo()// 调用方式三 通过 call/apply 调用foo.call("abc")指向定义 this 是js 给函数的…

SQL零基础入门学习(十)

SQL零基础入门学习(九) SQL CREATE DATABASE 语句 CREATE DATABASE 语句用于创建数据库。 SQL CREATE DATABASE 语法 CREATE DATABASE dbname;SQL CREATE DATABASE 实例 下面的 SQL 语句创建一个名为 “my_db” 的数据库: CREATE DATAB…