SAP RFC: длина_связи против длина_сц - PullRequest
0 голосов
/ 02 октября 2019

Моя любимая поисковая система ( ecosia ) не смогла найти канонические документы из апстрима (SAP) о значении uc_length против nuc_length.

В чем разница междуоба?

Я получаю эти параметры с измененной версией clientPrintDescription.py

nuc_length--vs--uc_length

1 Ответ

1 голос
/ 02 октября 2019

Я не могу быть уверен, что они делают в скрипте Python, но, основываясь на моих знаниях ABAP / SAP, я могу легко сказать, что:

Система не на основе Unicode ABAP использует один байт для кодирования каждого символа, в то время как система на основе Unicode ABAP использует два байта для кодирования каждого символа. Начиная с ABAP 7.50 все системы являются Unicode.

В системе на основе Unicode ABAP строки символов и текстовые поля могут хранить символы Unicode от U + 0000 до U + FFFF. Обратите внимание, что символы от U + D800 до U + DFFF считаются фактическими символами в среде выполнения ABAP (dixit документация ABAP : «Язык программирования ABAP поддерживает подмножество, охватываемое UCS-2, а не полный UTF-16 set. ")

Обратите внимание, что структурированные параметры состоят из нескольких полей, которые могут смешивать символы и не символы," uc_length "удваивает количество байтов только символьных полей. Между полями также есть несколько фиктивных байтов из-за «выравнивания» .

В вашем примере текстовое поле из 80 байтов в системе Unicode соответствует 40 символам.

...