-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtext_conversion.py
More file actions
30 lines (20 loc) · 1010 Bytes
/
text_conversion.py
File metadata and controls
30 lines (20 loc) · 1010 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Treciuju saliu biblioteka naudojama teskto vertimui i dvejetaini formata ir atvirksciai.
from bitarray import bitarray
# Bibloteka naudojama tipu apibrezimams, kurie nurodomi metodu parametrams ir grazinamoms reiksmems.
from typing import List
# Teksto uzkodavimo formatas.
g_text_encoding = "utf-16"
def text_to_bit_array(text: str) -> List[int]:
"""Metodas, kuris konvertuoja teksta i dvejetaini formata.
Tekstas text turi buti str tipo kintamasis.
Grazinamas integer tipo sveikuju skaiciu masyvas, kuris ir atitinka dvejetaini formata.
"""
bitArray = bitarray()
bitArray.frombytes(text.encode(g_text_encoding))
return bitArray.tolist()
def bit_array_to_text(bitList: List[int]) -> str:
"""Metodas, kuris konvertuoja dvejetainiu skaiciu seka i teksta.
Dvejetainiu skaiciu masyvas bitList turi tureti integer tipo sveikuju skaiciu elementus.
Grazinamas tekstas yra str tipo kintamasis.
"""
return bitarray(bitList).tobytes().decode(g_text_encoding)