PyRFC中nuc_length和uc_length参数的含义?
The meaning of nuc_length and uc_length parameters in PyRFC?
我最喜欢的搜索引擎 (ecosia) 无法从上游 (SAP) 找到关于 uc_length
与 nuc_length
.
含义的规范文档
两者有什么区别?
的修改版本获取这些参数
我不能确定他们在 Python 脚本中做了什么,但根据我的 ABAP/SAP 知识,我可以很容易地说:
- nuc_length:基于非 Unicode ABAP 的系统中参数的长度,以字节数为单位
- uc_length: Unicode ABAP-based system中参数的长度,字节数
基于非 Unicode ABAP 的系统使用一个字节对每个字符进行编码,而基于 Unicode ABAP 的系统使用两个字节对每个字符进行编码。从 ABAP 7.50 开始,所有系统都是 Unicode。
在基于Unicode ABAP的系统中,字符串和文本字段可以存储从U+0000到U+FFFF的Unicode字符。请注意,字符 U+D800 到 U+DFFF 被 ABAP 运行时环境视为实际字符 (dixit ABAP documentation: "The ABAP programming language supports a subset covered by UCS-2 and not the full UTF-16 set.")
请注意,结构化参数由多个字段组成,可以混合字符和非字符,"uc_length"只会将字符字段的字节数加倍。由于 "alignment".
,字段之间也有一些虚拟字节
在您的示例中,Unicode 系统中 80 个字节的文本字段对应于 40 个字符。
我最喜欢的搜索引擎 (ecosia) 无法从上游 (SAP) 找到关于 uc_length
与 nuc_length
.
两者有什么区别?
的修改版本获取这些参数我不能确定他们在 Python 脚本中做了什么,但根据我的 ABAP/SAP 知识,我可以很容易地说:
- nuc_length:基于非 Unicode ABAP 的系统中参数的长度,以字节数为单位
- uc_length: Unicode ABAP-based system中参数的长度,字节数
基于非 Unicode ABAP 的系统使用一个字节对每个字符进行编码,而基于 Unicode ABAP 的系统使用两个字节对每个字符进行编码。从 ABAP 7.50 开始,所有系统都是 Unicode。
在基于Unicode ABAP的系统中,字符串和文本字段可以存储从U+0000到U+FFFF的Unicode字符。请注意,字符 U+D800 到 U+DFFF 被 ABAP 运行时环境视为实际字符 (dixit ABAP documentation: "The ABAP programming language supports a subset covered by UCS-2 and not the full UTF-16 set.")
请注意,结构化参数由多个字段组成,可以混合字符和非字符,"uc_length"只会将字符字段的字节数加倍。由于 "alignment".
,字段之间也有一些虚拟字节在您的示例中,Unicode 系统中 80 个字节的文本字段对应于 40 个字符。