我有一个长度为16字节的C#字节数组b_a
,当我将b_a
转换为基本64字符串aaa
时,它的长度返回24
string aaa = Convert.ToBase64String(b_a);
Console.WriteLine(aaa.Length); //24
Console.WriteLine(aaa); //'xKKkTjcKsfBDqpIJBKn6QQ=='
我想在Python中把aaa
字符串转换成字节数组,但是当我转换它的时候,它的长度仍然返回24。
aaa = 'xKKkTjcKsfBDqpIJBKn6QQ=='
b_a = bytearray(aaa)
len(b_a) #24
我想得到所有的初始值b_a
,我错过了什么?
1条答案
按热度按时间ifmq2ha21#
如果你有base 64编码的信息,你需要解码它来获得字节。在Python 3中(和Python 2中):
假设你的代码看起来可以正常工作,没有错误,那么你一定是在使用Python 2。在Python 3中,在
str
对象上使用bytearray
会引发异常,因为它不知道如何在没有字符串编码信息的情况下将字符串转换成字节。str
对象实际上是一个字节序列,所以bytearray
在Python 2中只返回字符串作为字节: