mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
gh-141968: Use take_bytes in encodings.punycode (#141974)
Removes a copy going from bytearray to bytes. Co-authored-by: Victor Stinner <vstinner@python.org> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
This commit is contained in:
parent
3001464248
commit
5a7c9c6861
2 changed files with 5 additions and 3 deletions
|
|
@ -17,7 +17,7 @@ def segregate(str):
|
|||
else:
|
||||
extended.add(c)
|
||||
extended = sorted(extended)
|
||||
return bytes(base), extended
|
||||
return base.take_bytes(), extended
|
||||
|
||||
def selective_len(str, max):
|
||||
"""Return the length of str, considering only characters below max."""
|
||||
|
|
@ -83,7 +83,7 @@ def generate_generalized_integer(N, bias):
|
|||
t = T(j, bias)
|
||||
if N < t:
|
||||
result.append(digits[N])
|
||||
return bytes(result)
|
||||
return result.take_bytes()
|
||||
result.append(digits[t + ((N - t) % (36 - t))])
|
||||
N = (N - t) // (36 - t)
|
||||
j += 1
|
||||
|
|
@ -112,7 +112,7 @@ def generate_integers(baselen, deltas):
|
|||
s = generate_generalized_integer(delta, bias)
|
||||
result.extend(s)
|
||||
bias = adapt(delta, points==0, baselen+points+1)
|
||||
return bytes(result)
|
||||
return result.take_bytes()
|
||||
|
||||
def punycode_encode(text):
|
||||
base, extended = segregate(text)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue