diff --git a/scapy/asn1/asn1.py b/scapy/asn1/asn1.py index 26baaa4af9886f03bcc3f72f95472b2907f70a34..1611d355102ef5131c23aef2a9033e2d507141e9 100644 --- a/scapy/asn1/asn1.py +++ b/scapy/asn1/asn1.py @@ -263,7 +263,7 @@ class ASN1_BIT_STRING(ASN1_Object): def __init__(self, val, readable=False): if readable: self.val_readable = val - val = "".join(format(ord(x), 'b').zfill(8) for x in val) + val = "".join(bin(ord(x))[2:].zfill(8) for x in val) self.unused_bits = 0 else: if len(val) % 8 == 0: diff --git a/scapy/asn1/ber.py b/scapy/asn1/ber.py index 4a0288979c2062ba1d1e92862eadb73d169e1e54..ba431b4c530b49623f1a67e7a207fa932bb6c3e0 100644 --- a/scapy/asn1/ber.py +++ b/scapy/asn1/ber.py @@ -277,7 +277,7 @@ class BERcodec_BIT_STRING(BERcodec_Object): unused_bits = ord(s[0]) if safe and unused_bits > 7: raise BER_Decoding_Error("BERcodec_BIT_STRING: too many unused_bits advertised", remaining=s) - s = "".join(format(ord(x), 'b').zfill(8) for x in s[1:]) + s = "".join(bin(ord(x))[2:].zfill(8) for x in s[1:]) if unused_bits > 0: s = s[:-unused_bits] return cls.tag.asn1_object(s),t diff --git a/scapy/asn1fields.py b/scapy/asn1fields.py index 242fb8ec093f0563b1dbb16e07ef5146f2352e38..e1fefd07b774ccb1ade2da2f8333f8127f952228 100644 --- a/scapy/asn1fields.py +++ b/scapy/asn1fields.py @@ -199,7 +199,7 @@ class ASN1F_BIT_STRING(ASN1F_field): def __init__(self, name, default, default_readable=True, context=None, implicit_tag=None, explicit_tag=None): if default is not None and default_readable: - default = "".join(format(ord(x), 'b').zfill(8) for x in default) + default = "".join(bin(ord(x))[2:].zfill(8) for x in default) ASN1F_field.__init__(self, name, default, context=context, implicit_tag=implicit_tag, explicit_tag=explicit_tag) @@ -522,7 +522,7 @@ class ASN1F_BIT_STRING_ENCAPS(ASN1F_BIT_STRING): s = "" else: s = str(x) - s = "".join(format(ord(x),'b').zfill(8) for x in s) + s = "".join(bin(ord(x))[2:].zfill(8) for x in s) return ASN1F_BIT_STRING.i2m(self, pkt, s) class ASN1F_FLAGS(ASN1F_BIT_STRING):