Метод decode возвращает Unicode-ответ в лямбда-энв - PullRequest
2 голосов
/ 14 марта 2019

Функция декодирования в среде Python 3.7 в aws-лямбде возвращает 1\u0000\u0000\u0000\u000001 в [1], тогда как в локальном интерпретаторе Python 3.7.2 она возвращает 101

def lambda_handler(event, context):

    data = b'1\x00\x00\x00\x0001'
    response = data.decode()
    print(response)#[1]
    return {
        'statusCode': 200,
        'body': str(response)
    }

в то время как локальный интерпретатор,

>>> data = b'1\x00\x00\x00\x0001'
>>> print (data.decode())
101

Мне также требуется 101 в качестве ответа от интерпретатора лямбды 3.7.Любые предложения приветствуются.

1 Ответ

2 голосов
/ 14 марта 2019

Просто удалите нулевые значения (\ x00) в строке. Печать не сможет правильно выводить данные, если в вашей строке есть эти нулевые значения.

data.decode('utf8').replace('\x00', '')
...