search
  • Sign In
  • Sign Up
Password reset successful

Follow the proiects vou are interested in andi aet the latestnews about them taster

2 answers
Q&A 如何让base64在python2和python3都运行通过
如何让base64在python2和python3都运行通过
高洛峰 2016-11-09 14:10:05 Views 923

0
args = [1,2,3,4]
text = json.dumps(args)
query = base64.b64encode(text)
auth = hashlib.md5(query).hexdigest()
print(auth)

这段代码在python2.7下面通过,但是python3.5会报错:
TypeError: 'str' does not support the buffer interface

更改为这样以后,python3可以通过了

args = [1,2,3,4]
text = json.dumps(args)
query = base64.b64encode(bytes(text, 'utf-8'), )
auth = hashlib.md5(query).hexdigest()
print(auth)

但是python2又会报错:TypeError: str() takes at most 1 argument (2 given)

该怎样修改才能使代码在python2和python3都运行通过呢?


Your Answer
submit

2 answers
0
import base64, json, hashlib

args = [1,2,3,4]
text = json.dumps(args)
try:
    text = bytes(text, 'utf-8')
except:
    pass
query = base64.b64encode(text)
auth = hashlib.md5(query).hexdigest()
print(auth)


2016-11-09 14:10:28

submit

0
args = [1,2,3,4]
text = json.dumps(args)

#这里添加了一个bytearray类型的变量temp
temp = bytearray(text, encoding='ascii')

query = base64.b64encode(temp)
auth = hashlib.md5(query).hexdigest()
print(auth)


2016-11-09 14:10:41

submit

Popular tool

vc9-vc14 (32+64 bit) runtime library collection (link below)

vc9-vc14 (32+64 bit) runtime library collection (link below)

Download the collection of runtime libraries required for phpStudy installation

VC9 32-bit

VC9 32-bit

VC9 32-bit phpstudy integrated installation environment runtime library

PHP programmer toolbox full version

PHP programmer toolbox full version

Programmer Toolbox v1.0 PHP Integrated Environment

VC11 32-bit

VC11 32-bit

VC11 32-bit phpstudy integrated installation environment runtime library

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use