[英]Google API Reading .p12 key in python 3
我正在嘗試將一些代碼從Python 2移植到3,但是當它讀取Google API .p12服務密鑰時會UnicodeDecodeError
。
with open('service_key.p12', 'r') as f:
private_key = f.read()
這是錯誤
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 in position 1: invalid start byte
這段代碼在python 2.7中可以正常工作,在python 3.4中會中斷。另外,我還安裝了pyOpenSSL==0.14
。
在python 3中,您還必須使用'b'標志打開二進制文件:
with open('service_key.p12', 'rb') as f:
private_key = f.read()
如上所述這里 ,二進制I / O不會做字符編碼/解碼。 之所以收到UnicodeDecodeError,是因為您使用了文本I / O,該I / O嘗試將數據解碼為UTF-8,但是您的數據無效UTF-8。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.