2012-09-02 2 views
0

Это мой текущий код:вставляя переменные в «б» байт

encodedstring = base64.encodestring(b"admin:password")[:-1] 

Теперь я хочу использовать переменные для пароля имя пользователя &, что-то вроде этого?

username = "admin" 
    password = "password" 
    user_pass = username + ":" + password 

    user_pass = b"user_pass <<<<? 
    encodedstring = base64.encodestring(user_pass)[:-1] 

Как я могу это сделать?

Большое спасибо

+1

Не 'байты (user_pass, 'ascii')' делают? Или 'user_pass.encode ('ascii')'? Выберите любую кодировку, которая вам нравится. –

+0

yup, bytes (user_pass, 'ascii') делают тот же трюк. Благодарю. – user1641071

ответ

1

Ну, как это?

username = b"admin" 
password = b"password" 
user_pass = username + b":" + password 

encodedstring = base64.encodestring(user_pass)[:-1] 

Или вы говорите, что имя пользователя и пароль поступают откуда-то, что дает вам строки?

В этом случае кодируйте их.

username = get_username().encode('UTF8') 
password = get_password().encode('UTF8') 
user_pass = username + b":" + password 

Используйте UTF-8, чтобы работать с символами не-ascii.

+0

Спасибо вам большое! – user1641071

0
base64.b64encode((user + ':' + password).encode('utf-8')) 
+0

этот тоже работает: base64.b64encode ((user + ':' + password) .encode ('utf-8')), большое спасибо. – user1641071

Смежные вопросы