| 12345678910111213141516171819202122232425262728293031323334 |
- # Step 02 - parse RFC.
- #
- # Static dictionary is described in "Appendix A" section in a hexadecimal form.
- # This tool locates dictionary data in RFC and converts it to raw binary format.
- import re
- rfc_path = "rfc7932.txt"
- with open(rfc_path, "r") as rfc:
- lines = rfc.readlines()
- re_data_line = re.compile("^ [0-9a-f]{64}$")
- appendix_a_found = False
- dictionary = []
- for line in lines:
- if appendix_a_found:
- if re_data_line.match(line) is not None:
- data = line.strip()
- for i in range(32):
- dictionary.append(int(data[2 * i:2 * i + 2], 16))
- if len(dictionary) == 122784:
- break
- else:
- if line.startswith("Appendix A."):
- appendix_a_found = True
- bin_path = "dictionary.bin"
- with open(bin_path, "wb") as output:
- output.write(bytearray(dictionary))
- print("Parsed and saved " + str(len(dictionary)) + " bytes to " + bin_path)
|